Объяснение абстракции [закрытому] непрограммисту

12
задан Dominic Bou-Samra 27 May 2010 в 03:39
поделиться

11 ответов

Автомобиль.

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

Вы используете абстракцию педали газа для управления скоростью двигателя, вам не нужно вручную впрыскивать газ в двигатель и управлять поршнями.

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

Другим хорошим примером являются автоматические коробки передач.

21
ответ дан 2 December 2019 в 03:32
поделиться

Абстракция может означать написание правил (или процедур), которые могут быть применены к более широкому набору обстоятельств.

Вы можете написать рецепт пиццы "Маргерита", для которого требуются: помидоры, сыр моцарелла, белая мука, вода, базилик, сахар, соль, оливковое масло экстра вирджин и дрожжи.

Или вы можете составить рецепт пиццы, для которого требуется тесто и начинка. Это абстрактный рецепт.

Вы можете сделать тесто из белой муки, воды, сахара, соли, оливкового масла extra virgin и дрожжей.

Вы также можете сделать начинку из помидоров, сыра моцарелла, базилика и оливкового масла.

Но вы также можете использовать другие начинки (например, пепперони и чили) и другие виды теста (например, из цельнозерновой муки или кукурузной муки).

4
ответ дан 2 December 2019 в 03:32
поделиться

Почему бы просто не сделать "жилища".

Например, "24a Posh Towers" - это "пентхаус с четырьмя спальнями в Доклендсе" - это "лондонская квартира" - это "дом" - это жилище.

"Синяя палатка рядом с палаткой с этиопской вегатарианской едой" - это "моя палатка в Гластонбери" - это "временный дом", а также "жилище"

.
0
ответ дан 2 December 2019 в 03:32
поделиться

Я бы сказал, абстракция - это обобщение сложных концепций в относительно простые, с акцентом на то, какие части концепции важны в данном контексте.

0
ответ дан 2 December 2019 в 03:32
поделиться

Цифры.

Что общего между тремя коровами, тремя стульями и тремя вишневыми деревьями? В чем проблема, что у них общего? Вы не можете его нарисовать, и даже объяснить концепцию сложно, но это все же полезная концепция.

Цитата «Алиса в стране чудес» Льюиса Кэролла:

    "[doormice that were drawing everything that begins with an M, 
such as mousetraps, and the moon and memory, and muchness — [..]
 did you ever see such a thing as a drawing of a muchness ?"
0
ответ дан 2 December 2019 в 03:32
поделиться

абстракция - это концепция или идея, не связанная с каким-либо конкретным экземпляром

0
ответ дан 2 December 2019 в 03:32
поделиться

Автомобиль слишком продвинутый для меня. Как насчет корзины покупок? Вы толкаете, он движется.

-1
ответ дан 2 December 2019 в 03:32
поделиться

Я предлагаю абстракцию обращать внимание на важные детали и игнорировать все остальное.

Допустим, вы хотите нанять повара.

Вы действительно хотите обратить внимание на

  • Обучение
  • Какую еду он / она может приготовить
  • Насколько хороша подача еды
  • Как будет / он взаимодействует с остальной командой
  • Насколько хорошо приготовлена ​​еда

Но вам не нужно обращать внимание на

  • Цвет волос
  • Татуировки
  • Как хорошо он умеет красить
  • Носовые волосы
  • Пирсинг своей / ее подруги

И так далее.

0
ответ дан 2 December 2019 в 03:32
поделиться

Абстракция

Игнорирование деталей того, как что-то работает.

например, поворот ключа в автомобиле заводит машину, при этом абстрагируются такие детали, как мотор стартера, аккумулятор, иммобилайзер, бензобак...

8
ответ дан 2 December 2019 в 03:32
поделиться

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

Если я скажу вам, что дам вам 10 секунд, чтобы нарисовать что-нибудь, то когда я скажу: "Начинай! Нарисуй дом", вы вряд ли придумаете что-то отличное от моего рисунка:

 /\
/  \
|  |
 --

Потому что ваш мозг абстрагировал самые важные детали вашего дома: крышу, стены - и если у вас было время - двери, окна.

Мы абстрагируем детали от всего просто потому, что это облегчает понимание. Мы не изучаем все мельчайшие детали конструкции стула - мы просто идем в Икею и покупаем тот, который хорошо выглядит. Есть много хороших примеров.

6
ответ дан 2 December 2019 в 03:32
поделиться

Если вы имеете в виду абстракцию, как она обеспечивается библиотеками/фреймворками:

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

Абстрагирование вещей в типичные программные структуры, такие как классы и объекты, объяснить немного сложнее...

1
ответ дан 2 December 2019 в 03:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: