Interested Article - Абстракция (информатика)

Абстракция ( лат. abstractio «отвлечение» ) в программной инженерии и информатике — это:

  • Процесс удаления или обобщения физических, пространственных или временных деталей или характеристик при изучении объектов или систем с целью сосредоточения внимания на более важных деталях; он схож по своей природе с процессом обобщения ;
  • Создание абстрактных понятий -объектов путем отражения общих особенностей или характеристик различных неабстрактных объектов или исследуемых систем, а также результат процесса абстракции.

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

Абстракция в информатике тесно связана с из-за их общего акцента на создании абстракций в качестве объектов, но также связана с понятиями абстракции из других областей, таких как искусство .

Абстракции также могут относиться к объектам и системам реального мира, правилам вычислительных систем или правилам программирования, которые используют или реализуют особенности самой абстракции, например:

  • применение типов данных для обеспечения абстракции данных для отделения их использования от рабочих представлений структур данных в программах;
  • понятие процедур , функций или подпрограмм, которые представляют собой определенный способ реализации потока управления в программах;
  • правила, обычно называемые « абстракцией », которые обобщают выражения с использованием свободных и связанных переменных в различных версиях лямбда-исчисления ;
  • использование S-выражений в качестве абстракции структур данных и программ на языке программирования Lisp ;
  • процесс выведения общего поведения в абстрактные классы в объектно-ориентированных языках программирования.

Абстракция может выступать как инструмент уменьшения сложности систем, так как позволяет за скрыть детали реализации за аккуратно спроектированным интерфейсом или фасадом . Например, язык запросов к базам данных SQL абстрагирует от конкретной реализации хранения данных, параллельного многопользовательского доступа, восстановления после сбоев и других деталей, заложенных в системы управления базами данных


В объектно-ориентированном программировании (ООП) термин «абстракция» используется как сокращение от « абстракция данных », но не следует путать последнее с абстрактным типом данных — в ООП под этим понимается наследование классов .

См. также

Примечания

  1. Локшина С. М. Краткий словарь иностранных слов. — 7-е изд. — М.: « Советская энциклопедия », 1984. — 384 с. С. 10—11.
  2. Colburn, Timothy; Shute, Gary (5 June 2007). "Abstraction in Computer Science". Minds and Machines (англ.) . 17 (2): 169—184. doi : . ISSN . S2CID .
  3. Kramer, Jeff (1 April 2007). "Is abstraction the key to computing?". Communications of the ACM . 50 (4): 36—42. doi : . ISSN . S2CID .
  4. Ben-Ari, Mordechai (1 March 1998). . ACM SIGCSE Bulletin . 30 (1): 257, 257—261. doi : . ISSN .
  5. Comer, D. E.; Gries, David; Mulder, Michael C.; Tucker, Allen; Turner, A. Joe; Young, Paul R. /Denning (1 January 1989). "Computing as a discipline". Communications of the ACM . 32 (1): 9—23. doi : . ISSN . S2CID .
  6. Liskov, Barbara (1 May 1988). "Keynote address – data abstraction and hierarchy". ACM SIGPLAN Notices . ACM. 23 : 17—34. doi : . ISBN 0897912667 . S2CID .
  7. Barendregt, Hendrik Pieter. The lambda calculus : its syntax and semantics. — Revised. — Amsterdam : North-Holland, 1984. — ISBN 0444867481 .
  8. Barendregt, Hendrik Pieter. Lambda calculus with types. — Cambridge, UK : Cambridge University Press, 2013. — ISBN 9780521766142 .
  9. Newell, Allen. Computer science as empirical inquiry: symbols and search / Allen Newell, Herbert A. Simon. — ACM, 1 January 2007. — P. 1975. — ISBN 9781450310499 . — doi : .
  10. Мартин Клеппман. Высоконагруженные приложения. Программирование, масштабирование, поддержка. — "Издательский дом ""Питер""", 2018. — P. 640. — ISBN 9785446105120 .
Источник —

Same as Абстракция (информатика)