Аннотация над X

Извините за этот вопрос, связанный с английским, но я столкнулся с этим выражением только в контексте ИТ. Что значит абстрагироваться от чего-либо? Например, абстрагирование над объектами или абстрагирование над классами. Спасибо


person Bruno Bieth    schedule 11.06.2010    source источник
comment
Пожалуйста, опубликуйте полный текст абзаца, который вы видели, в котором используется это выражение.   -  person    schedule 11.06.2010
comment
Я читал gbracha.blogspot.com/2010/06/nest-of -classes.html Если класс является свойством объекта, то естественным образом возникают виртуальные классы. Кроме того, сила полиморфизма применима и к классам. Поскольку мы можем абстрагироваться от объектов, мы можем абстрагироваться от их членов; эти члены, как правило, являются методами, поэтому объектно-ориентированное и функциональное программирование не так уж отличаются друг от друга, как некоторые считают.   -  person Bruno Bieth    schedule 01.07.2010


Ответы (2)


В этом контексте слово «абстрактный» происходит от лямбда-исчисления, где оно означает «сделать что-то параметром» (параметром значения или параметром типа). Слово используется более широко с другими типами параметров; например, механизмы «универсального программирования» часто включают способы абстрагирования от классов.

Вероятно, самым простым языком для абстрагирования объектов и классов является Smalltalk, где все (включая каждый класс) является объектом. Smalltalk, как и Ruby, который тесно связан с Smalltalk, имеет "утиную типизацию", поэтому, например, вы можете "абстрагироваться" от любого класса коллекции, написав код Smalltalk, который использует только методы, общие для всех классов коллекции. Аналогичным образом вы можете абстрагироваться от объектов коллекции.

person Norman Ramsey    schedule 12.06.2010

То есть вытащить его для функции в качестве аргумента. Это имеет больше смысла в функциональном программировании, но представьте, что у вас есть функция, которая принимает целое число и добавляет к нему пять, вы можете сделать это переменной и иметь функцию суммирования, которая будет работать с любыми двумя целыми числами.

Этот случай не так интересен. А что, если вы подтянете операцию сложения и сделаете ее аргументом. Теперь у вас есть функция, которая принимает два аргумента и применяет к ним вызовы третьего как функции. Здесь вы абстрагировали операцию от функции.

Извините, это такое слабое объяснение, я исправлю это позже, когда у меня будет шанс. Это имеет смысл с парой хороших примеров, мне просто нужно запустить ATM.

person Ukko    schedule 11.06.2010