абстракция программирование



Абстракция в программировании

Автор Алексей толков задал вопрос в разделе Другие языки и технологии

Что такое абстракции в информатике ? и получил лучший ответ

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

Ответ от Оля[эксперт]
Объекты и операции любой операционной среды - это абстракции.

Ответ от Капитан Гугл[гуру]
То же, что и вне нее.

Ответ от Алекс Красс[гуру]
Да тоже самое, что и везде. Выделение только существенных признаков, отвлекаясь от несущественных.

Ответ от Евгений Бубнов[эксперт]
т. к. ты задал этот вопрос в рубрике "программирование", попытаюсь тебе ответить что в нем значит этот термин. я бы сказал абстракция в программировании - это написание функции, пригодной для многих задач. Шаблон, который при очень хорошем опыте можно использовать во многих сферах. Например пишешь функцию, получающую три параметра и делаешь ее такой, чтобы она работала, подставь ты в эти параметры два числа и числовую операцию. то есть 2,3,- или же 6,8,+. При этом абстракция дает тебе возможность, в эту же самую функцию подставить какие-нибудь два наследственных признака человека и выявить третий. (Такие функции писать сложно, но возможно. Нужно иметь зоркий взгляд, богатый опыт программирования и хотя бы немного неординарное мышление. На лекции в университете, на которой присутствовало порядка 600 человек, когда показывается пара примеров и спрашивается что у них общего, никто ничего не видит) . В языках программирования (ЯП) есть же еще абстрактные классы abstract. Это пустые классы содержащие шаблоны функций. При работе в команде, человеку пишущему свой класс и наследующему твой абстрактный, придется прописать в своем классе абсолютно все функции, что и в твоем абстрактном. (во всяком случае в ЯП java). ПС- по поводу информатики. она есть. не верь никому. лучше всего это понятие звучит на английском и называется computer science. На русский сложно полноценно перевести, поэтому назвали просто информатикой.

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: Что такое абстракции в информатике ?

ООП: что такое инкапсуляция, абстракция, полиморфизм и наследование?
инкапсуляция - включение в класс данных (или других классов) с ограничением доступа к ним.
подробнее...
спросили в Язык Языки
Какие языки программирования являются высшими
На высших (высокоуровневых) языках легче писать программы. Самые популярные - это C++, C#, Javaподробнее...

что такое программный интерфейс?
Программный интерфейс, аналогичную любому другому интерфейсу, выполняет роль связующего звена между
подробнее...

Зачем нужна абстрактная математика?
не поверишь, но ракеты летают именно по этой алгебре. И даже музычку и картинки тебе кодируют этой
подробнее...
спросили в Другое
есть ли минус ноль
Абсолютный ноль -это -273 град.по
подробнее...
Ответ от 3 ответа[гуру]
Привет! Вот еще темы с похожими вопросами:

зачем графы нужны в программирование и информатике?
Для работы с данными, имеющими древовидную структуру. Очевидно же.
Например, норм файловую
подробнее...

Чем отличаются яз.программирования Высокого уровня от Низкого???
Высокоуровневый язык программирования — язык программирования, разработанный для быстроты и
подробнее...
спросили в Наивность
Объектно ориентированное программирование. (ООП)
Так никто нормально и не ответил!
Три признака ООП: инкапсуляция, наследование и полиморфизм.
подробнее...
спросили в Другое
Быстрое прототипирование в Архитектуре? 1Когда оно появилось? Примеры прототипирования?
Прототипи́рование (англ. prototyping) — это быстрая «черновая» реализация базовой
подробнее...
спросили в User java
Сложно ли мне будет изучить Java - программирование?
Вот мы сейчас телепатически просканируем твой мозг и ответим, да? Ну что за дебильные вопросы?
подробнее...
спросили в Язык
языки среднего уровня программирования, это какие? =) а также очень высокого, это тоже какие?
языки программирования делят на два уровня это высокий и низкий. с низких я знаю только ассемблер,
подробнее...
спросили в Язык Субд
Какой язык программирования считается универсальным в мире?
Неплохо бы уточнить вопрос какой смысл вкладывается в термин "универсальность"
Универсальность
подробнее...
спросили в Прато
Можно ли изучить С++ в домашних условиях?
Бьерн Страуструп - Язык программирвания Си++ -книга от создателя языка, очень большая, написана в
подробнее...

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

Зачем нужны классы в c++? Никак не могу понять... Что такое private, public зачем они нужны и т. д?
потому что не используешь на практике. ерунду всякую пишешь.
попробуй написать GUI сначала на
подробнее...
Абстракция данных на Википедии
Посмотрите статью на википедии про Абстракция данных
Уровень абстракции программирование на Википедии
Посмотрите статью на википедии про Уровень абстракции программирование
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*