Значение слова «абстра́кция»
и, ж.
[лат. abstractio отвлечение]
1. Спец.Абстрагирование, обобщение чего-л.; понятие, явление и т. п. как результат абстрагирования.
Абстракция данных. Абстракция в физике, математике. Уровни абстракции вычислительной системы. Набор абстракций в программировании.
2. Неодобр.Явление, понятие и т. д., не имеющие или утратившие определенность, конкретность, реальность.
Переход от абстракции к реальным проблемам.
3. Иск.Разг.Произведение абстрактного искусства.
Живописная абстракция XX века. Абстракции Малевича. Исполнить несколько музыкальных абстракций.
Данные других словарей
Большой толковый словарь русского языка Под ред. С. А. Кузнецова | абстра́кция-и; ж. [лат. abstractio — отвлечение] 1. Мысленное отвлечение от каких‑л. признаков, свойств, связей предмета или явления с целью выделения, обособления его существенных сторон, признаков; абстрагирование. 2. Отвлечённое понятие, теоретическое обобщение опыта; признак или свойство, рассматриваемые сами по себе, вне связи с предметом. Научная а. Мыслить абстракциями. // Разг. О том, что существует только в воображении и не реализуется на практике, отсутствует в жизни; плод воображения. Положительный герой пьесы — чистая а. Помощь слабым — не а. для общества милосердия. 3. Разг. О произведении абстрактного искусства. Приобретать абстракции. | |
Толковый словарь иноязычных слов Л. П. Крысин | абстра́кцияи, ж. [нем. Abstraktion, фр. abstraction 1. мн. нет. Мысленное отвлечение от тех или иных сторон, свойств или связей предметов и явлений для выделения существенных их признаков. Без абстракции невозможно формирование понятий. 2. Отвлеченное понятие, теоретическое обобщение опыта. Научные абстракции отражают суть явлений природы и общества. | |
Школьный словарь иностранных слов Л. А. Субботина | абстра́кция-ии, ж. [латин. abstractio – удаление, отвлечение] 1. Мысленное отвлечение от ряда свойств предметов и явлений с целью выделения их существенных признаков (область абстракции). 2. Результат научного отвлечения, теоретическое обобщение (математическая абстракция). 3. О чём‑л. лишённом определённости, жизненности (превратить художественный образ в абстракцию).
|
Абстракции (абстрактные типы и интерфейсы) — Framework Design Guidelines
Twitter LinkedIn Facebook Адрес электронной почты
- Статья
- Чтение занимает 2 мин
Абстракция — это тип, описывающий контракт, но не предоставляющий его полную реализацию. Абстракции, как правило, реализуются как абстрактные классы или интерфейсы, и они поставляются с четко определенным набором справочной документации, описывающей необходимую семантику типов, реализующих контракт. К некоторым из наиболее важных абстракций в .NET Framework относятся Stream, IEnumerable<T> и Object.
Платформы можно расширять, реализуя конкретный тип, поддерживающий контракт абстракции, и используя этот конкретный тип с API-интерфейсами платформы, которые используют абстракцию (работают с ней).
Содержательную и универсальную абстракцию, способную выдержать проверку временем, очень сложно спроектировать. Основная сложность заключается в получении правильного набора элементов — ни больше, ни меньше. Если абстракция содержит слишком много элементов, реализовать ее сложно либо даже невозможно. Если у вас слишком мало элементов для обещанной функции, она становится бесполезной во многих интересных сценариях.
Слишком большое количество абстракций в платформе также отрицательно сказывается на удобстве использования платформы. Часто бывает довольно трудно понять абстракцию, не зная, как она впишется в более полную картину конкретных реализаций и API-интерфейсов, работающих с абстракцией. Кроме того, имена абстракций и их элементов обязательно являются абстрактными, из-за чего их часто трудно или вовсе невозможно понять без более широкого контекста их использования.
Тем не менее абстракции обеспечивают весьма впечатляющую расширяемость, которую часто не могут обеспечить другие механизмы расширяемости. Они являются основой многих архитектурных шаблонов, таких как подключаемые модули, инверсия управления, конвейеры и т. д. Они также чрезвычайно важны для тестирования платформ. Оптимальные абстракции позволяют создать заглушки для сложных зависимостей при модульном тестировании. В целом абстракции отвечают за насыщенность современных объектно-ориентированных платформ.
❌ НЕ следует предоставлять абстракции, если они не проверяются путем разработки нескольких конкретных реализаций и API-интерфейсов, использующих абстракции.
✔️ При проектировании абстракции ПРИНИМАЙТЕ решение взвешенно, выбирая между абстрактным классом и интерфейсом.
✔️ Рассмотрите возможность предоставления сравнительных проверок для конкретных реализаций абстракций. Такие проверки должны дать пользователям возможность узнать, правильно ли реализован контракт в их реализациях.
Фрагменты: © Корпорация Майкрософт (Microsoft Corporation), 2005, 2009. Все права защищены.
Перепечатано с разрешения Pearson Education, Inc. из книги Инфраструктура программных проектов. Соглашения, идиомы и шаблоны для многократно используемых библиотек .NET (2-е издание), авторы: Кржиштоф Цвалина (Krzysztof Cwalina) и Брэд Абрамс (Brad Abrams). Книга опубликована 22 октября 2008 г. издательством Addison-Wesley Professional в рамках серии, посвященной разработке для Microsoft Windows.
- Рекомендации по проектированию на основе Framework
- Разработка с обеспечением расширяемости
python — Что означает абстракция в программировании?
Абстракция — ключевое понятие во всей компьютерной науке.
Без абстракции мы до сих пор программировали бы в машинном коде или, что еще хуже, вообще не имели бы компьютеров. Так что, ИМХО, это действительно хороший вопрос.Что такое абстракция
Абстрагирование что-то означает давать имена вещам, чтобы имя отражало суть того, что делает функция или целая программа.
Один пример приведен в книге, на которую вы ссылаетесь, где написано
.Предположим, мы работаем с черепахами, и нам нужна общая операция: рисовать квадраты. «Нарисуй квадрат» — это абстракция или мысленный фрагмент, из ряда более мелких шагов. Итак, давайте напишем функцию для захвата шаблон этого «кирпичика»:
Забудьте на мгновение о черепахах и просто подумайте о том, чтобы нарисовать квадрат. Если я скажу вам нарисовать квадрат (на бумаге), вы сразу поймете, что делать:
- нарисовать квадрат => нарисовать прямоугольник со всеми сторонами одинаковой длины.
Вы можете сделать это без лишних вопросов, потому что вы знаете наизусть, что такое квадрат , и я не буду рассказывать вам шаг за шагом. Здесь слово квадрат является абстракцией «нарисовать прямоугольник со всеми сторонами одинаковой длины».
Абстракции уходят глубоко
Но подождите, откуда вы знаете, что такое прямоугольник есть? Ну, это еще одна абстракция для следующего:
- прямоугольник => нарисуйте две линии, параллельные друг другу, одинаковой длины, а затем добавьте еще две параллельные линии, перпендикулярные двум другим линиям, снова той же длины, но возможно, другой длины, чем первые два.
Конечно, это продолжается и продолжается — линий , параллельных , перпендикулярных
, соединяющих абстракций известных понятий.Теперь представьте, что каждый раз, когда вы хотите нарисовать прямоугольник или квадрат, вам нужно дать полное определение прямоугольника или объяснить линии, параллельные линии, перпендикулярные линии и соединительные линии — это заняло бы слишком много времени. так.
Реальная сила абстракции
Это первая сила абстракций: они значительно облегчают разговор и выполнение задач.
Вторая степень абстракций исходит из приятного свойства компонуемость : как только вы определили абстракции, вы можете составить две или более абстракции, чтобы сформировать новую, более крупную абстракцию: скажем, вы устали рисовать квадраты, но вы действительно хотите нарисовать дом . Предположим, мы уже определили треугольник
- дом => нарисовать квадрат с треугольником поверх него
Далее вам нужна деревня:
- деревня => нарисовать несколько домов рядом друг с другом
Ой, подождите, мы хотим город — и у нас есть новая концепция улица :
- город => нарисовать много деревень близко друг к другу, заполнить пустые места еще домами , но уйти номер на улиц
- улица => (некоторое определение улицы)
и так далее. ..
Как все это применимо к программированию?
Если в ходе планирования вашей программы (процесс, известный как анализ и проектирование ) вы найдете хорошие абстракции для проблемы, которую пытаетесь решить, ваши программы станут короче, следовательно, их будет легче писать и, что, возможно, важнее — легче читать. Способ сделать это состоит в том, чтобы попытаться понять основные концепции, которые определяют ваши проблемы — как в (упрощенном) примере рисования дома , это было квадратов и треугольников , чтобы нарисовать деревня было домов .
В программировании мы определяем абстракции как функции (и некоторые другие конструкции, такие как классы и модули, но давайте пока сосредоточимся на функциях). Функция, по сути, называет набором отдельных операторов, поэтому функция, по сути, является абстракцией — подробности см. в примерах в вашей книге.
Вся прелесть
В программировании абстракции могут повысить или понизить производительность. Вот почему часто часто используемые функции собираются в библиотеки , которые могут быть повторно использованы другими. Это означает, что вам не нужно беспокоиться о деталях, вам нужно только понять, как использовать готовые абстракции. Очевидно, это должно упростить вам задачу, чтобы вы могли работать быстрее и, следовательно, более продуктивно:
Пример :
Представьте, что существует графическая библиотека под названием «nicepic», которая содержит предопределенные функции для всех абстракций, описанных выше: прямоугольники, квадраты, треугольники, дом, деревня.
Допустим, вы хотите создать программу, основанную на приведенных выше абстракциях, которая рисует красивое изображение дома. Все, что вам нужно написать, это:
import nicepic draw_house()
Всего две строчки кода, чтобы получить нечто гораздо более сложное. Разве это не прекрасно?
Абстракция — Определение и многое другое
Главная → Термины → Абстракция
Абстракция является одной из особенностей объектно-ориентированного программирования .
Абстракция относится к предоставлению или отображению (показу) только необходимой и существенной информации внешнему миру (пользователю объекта) и сокрытию фоновых деталей.
Это просто означает предоставление пользователю только той информации, которая ему полезна, и сокрытие ненужной части от пользователя.
Абстракция обеспечивает то, что необходимо, и инкапсулирует ненужные вещи для внешнего мира.
- Позволяет сосредоточиться на том, что делает объект, а не на том, как он это делает.
- Предоставляет вам обобщенное представление о ваших классах или объектах, предоставляя соответствующую информацию.
Пример:
Что происходит, когда вы включаете телевизор? Знаете ли вы внутренние детали телевидения? И имеет ли для вас значение то, что происходит внутри Телевидения? Вам не нужно знать. Что вам нужно знать, так это то, включено ли телевидение или нет. Это абстракция. Показывать только те детали, которые важны для пользователя.
Webster Dictionary Значение
— Акт абстрагирования, отделения или отзыва, или
состояние изъятия; вывод.
— Процесс действия по исключению из рассмотрения одного или
больше свойств сложного объекта, чтобы уделять внимание другим;
анализ. Таким образом, когда ум рассматривает форму дерева саму по себе,
или цвет листьев отдельно от их размера или формы,
действие называется абстракцией. Так и при рассмотрении белизны,
мягкость, добродетель, существование как отдельное от каких-либо конкретных объектов.
— Идея или понятие абстрактного или теоретического
природа; как, бороться за простые абстракции.
— Отделение от мирских объектов; затворническая жизнь; как,
абстракция отшельника.
— Отсутствие или поглощенность ума; невнимательность к представлению
объекты.
— Тайное изъятие для личного пользования части
собственность другого; воровство.
— Отделение летучих частей актом
дистилляция.
Категория: Компьютерное программирование
Поделись: Cite
Надлежащие стили оформления цитирования этого определения для вашей библиографии.
HTML Link
American Psychological Association (APA):
Chicago Manual of Style (CMS):
Modern Language Association (MLA):
Institute of Electrical and Electronics Engineers ( IEEE):
Ссылка на страницу
- ASP (Active Server Pages)
ASP (Active Server Pages) на веб-серверах Windows, система для частичного создания веб-страниц… - Bit один; наименьшая единица представления …
- Язык программирования C++
C++ объектно-ориентированный язык программирования, разработанный Бьерном Страуструпом в Bell Laboratories .