Другие языки программирования и технологии

Что такое абстракции в информатике ?

Нет никакой "информатики" -- это советские выдумки.

В системном программировании применяется абстракция аппаратуры (hardware abstraction) -- создается некоторое программное обеспечение (hardware abstraction layer -- "слой абстракции аппаратуры"), которое взаимодействует с аппаратурой прямо, а другие программы взаимодействуют с аппаратурой только через слой абстракции. Причем другим программам даже не обязательно знать, какая именно это аппаратура -- слой абстракции берет на себя все сложности, связанные с разницей в устройстве различных аппаратных средств.

В программировании баз данных абстракция (database abstraction [layer]) -- это создание программного обеспечения, которое работает в качестве "посредника" (middleware) между базой данных и прикладной программой. Прикладная программа при таком раскладе может запрашивать данные или посылать их на запись, а в какой именно базе данных эти данные хранятся (MySQL, Oracle, черт в ступе) -- ей все равно.

В объектно-ориентированном программировании абстракция -- это создание сущностей, которые не могут быть инстанциированы. Например, можно определить некоторый класс, но создать экземпляр этого класса нельзя -- это называется "абстрактный класс". Абстрактный класс можно использовать для эмуляции процедурной библиотеки (то есть методы класс просто вызываются статически, как простые функции) или как базовый класс: другие классы наследуют его структуру, но сами абстрактными могут уже и не быть -- их можно инстанциировать.
LH
Levon Hakobyan
36 812
Лучший ответ
Абай Акмурзаев информатика - это computer science.
в ооп абстракция- одно из ключевых понятий, смысл которого заключается в сосредоточении внимания на поведении и роли объекта в системе, а не на его природе или способе реализации.
абстрактный тип - это термин из некоторых языков программирования и к информатике в целом отношения не имеет. это, так сказать, детали реализации.
То же, что и вне нее.
BU
Bahtbek Urazmetow
72 675
Да тоже самое, что и везде.
Выделение только существенных признаков, отвлекаясь от несущественных.
Объекты и операции любой операционной среды - это абстракции.
Bahtbek Urazmetow Да нет, системные объекты, представляющие себя - не абстракции. Сложно назвать абстракцией, например, дескриптор файла.
т. к. ты задал этот вопрос в рубрике "программирование", попытаюсь тебе ответить что в нем значит этот термин.

я бы сказал абстракция в программировании - это написание функции, пригодной для многих задач.
Шаблон, который при очень хорошем опыте можно использовать во многих сферах.
Например пишешь функцию, получающую три параметра и делаешь ее такой, чтобы она работала, подставь ты в эти параметры два числа и числовую операцию. то есть 2,3,- или же 6,8,+. При этом абстракция дает тебе возможность, в эту же самую функцию подставить какие-нибудь два наследственных признака человека и выявить третий. (Такие функции писать сложно, но возможно. Нужно иметь зоркий взгляд, богатый опыт программирования и хотя бы немного неординарное мышление. На лекции в университете, на которой присутствовало порядка 600 человек, когда показывается пара примеров и спрашивается что у них общего, никто ничего не видит) .

В языках программирования (ЯП) есть же еще абстрактные классы abstract. Это пустые классы содержащие шаблоны функций. При работе в команде, человеку пишущему свой класс и наследующему твой абстрактный, придется прописать в своем классе абсолютно все функции, что и в твоем абстрактном. (во всяком случае в ЯП java).

ПС- по поводу информатики. она есть. не верь никому. лучше всего это понятие звучит на английском и называется computer science. На русский сложно полноценно перевести, поэтому назвали просто информатикой.
Antony Deep
Antony Deep
696
Михаил Гужевников хороший ответ