Обобщение и абстрагирование в чем разница

Обобщение, абстрагирование и конкретизация

Обобщение и абстрагирование в чем разница. Смотреть фото Обобщение и абстрагирование в чем разница. Смотреть картинку Обобщение и абстрагирование в чем разница. Картинка про Обобщение и абстрагирование в чем разница. Фото Обобщение и абстрагирование в чем разница Обобщение и абстрагирование в чем разница. Смотреть фото Обобщение и абстрагирование в чем разница. Смотреть картинку Обобщение и абстрагирование в чем разница. Картинка про Обобщение и абстрагирование в чем разница. Фото Обобщение и абстрагирование в чем разница Обобщение и абстрагирование в чем разница. Смотреть фото Обобщение и абстрагирование в чем разница. Смотреть картинку Обобщение и абстрагирование в чем разница. Картинка про Обобщение и абстрагирование в чем разница. Фото Обобщение и абстрагирование в чем разница Обобщение и абстрагирование в чем разница. Смотреть фото Обобщение и абстрагирование в чем разница. Смотреть картинку Обобщение и абстрагирование в чем разница. Картинка про Обобщение и абстрагирование в чем разница. Фото Обобщение и абстрагирование в чем разница

Обобщение и абстрагирование в чем разница. Смотреть фото Обобщение и абстрагирование в чем разница. Смотреть картинку Обобщение и абстрагирование в чем разница. Картинка про Обобщение и абстрагирование в чем разница. Фото Обобщение и абстрагирование в чем разница

Обобщение и абстрагирование в чем разница. Смотреть фото Обобщение и абстрагирование в чем разница. Смотреть картинку Обобщение и абстрагирование в чем разница. Картинка про Обобщение и абстрагирование в чем разница. Фото Обобщение и абстрагирование в чем разница

Когда мы говорим «несущественные свойства», то имеется в виду несущественные с математической точки зрения. Один и тот же предмет может изучаться, например, и физикой, и математикой. Для физики существенны одни его свойства (твердость, теплопроводимость, электропроводимость и другие физические свойства), для математики эти свойства несущественны, она изучает лишь форму, размеры, расположение предмета.

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

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

Под обобщением понимают также переход от единичного к общему, от менее общего к более общему.

Если обобщение используется при формировании понятий, то конкретизация используется при описании конкретных ситуаций с помощью сформированных ранее понятий.

Уточним переход от единичного к общему, от менее общего к более общему и обратный переход.

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

Так, если множество свойств, характеризующих класс предметов А, обозначить через S(А) (в традиционной формальной логике А называется объемом понятия, а S(А)-содержанием понятия), то имеет место следующее соотношение: если А Обобщение и абстрагирование в чем разница. Смотреть фото Обобщение и абстрагирование в чем разница. Смотреть картинку Обобщение и абстрагирование в чем разница. Картинка про Обобщение и абстрагирование в чем разница. Фото Обобщение и абстрагирование в чем разницаВ, то S(В) Обобщение и абстрагирование в чем разница. Смотреть фото Обобщение и абстрагирование в чем разница. Смотреть картинку Обобщение и абстрагирование в чем разница. Картинка про Обобщение и абстрагирование в чем разница. Фото Обобщение и абстрагирование в чем разницаS(A).

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

Присоединив это новое свойство Р к множеству свойств, характеризующих класс В, получаем множество свойств, характеризующих подкласс А, т.е. S(В) Обобщение и абстрагирование в чем разница. Смотреть фото Обобщение и абстрагирование в чем разница. Смотреть картинку Обобщение и абстрагирование в чем разница. Картинка про Обобщение и абстрагирование в чем разница. Фото Обобщение и абстрагирование в чем разница<Р> = S(A), или S(В) Обобщение и абстрагирование в чем разница. Смотреть фото Обобщение и абстрагирование в чем разница. Смотреть картинку Обобщение и абстрагирование в чем разница. Картинка про Обобщение и абстрагирование в чем разница. Фото Обобщение и абстрагирование в чем разницаS(А).

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

Обобщение и абстрагирование в чем разница. Смотреть фото Обобщение и абстрагирование в чем разница. Смотреть картинку Обобщение и абстрагирование в чем разница. Картинка про Обобщение и абстрагирование в чем разница. Фото Обобщение и абстрагирование в чем разница

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

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

2+3==3+2; 5+7==7+5; 4+8=8+4 и т. п.

Если просто отбросить эти числа, мы получим форму с «пустыми местами»:

которая не отражает выявленной общей закономерности, так как не отмечено, какие пустые места должны заполняться одними и теми же названиями чисел. Чтобы устранить этот недостаток полученной формы, изображают пустые места, которые должны заполняться именами одних и тех же чисел, в виде пустых «окошек» одинаковой формы. В результате получаем:

В дальнейшем разъясняется, что в математике для большего удобства вместо пустых «окошек» различной формы применяются различные буквы и получается, например,

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

Конкретизация основана на известном правиле вывода

Обобщение и абстрагирование в чем разница. Смотреть фото Обобщение и абстрагирование в чем разница. Смотреть картинку Обобщение и абстрагирование в чем разница. Картинка про Обобщение и абстрагирование в чем разница. Фото Обобщение и абстрагирование в чем разница

называемом правилом конкретизации.

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

Обобщение и абстрагирование в чем разница. Смотреть фото Обобщение и абстрагирование в чем разница. Смотреть картинку Обобщение и абстрагирование в чем разница. Картинка про Обобщение и абстрагирование в чем разница. Фото Обобщение и абстрагирование в чем разница Обобщение и абстрагирование в чем разница. Смотреть фото Обобщение и абстрагирование в чем разница. Смотреть картинку Обобщение и абстрагирование в чем разница. Картинка про Обобщение и абстрагирование в чем разница. Фото Обобщение и абстрагирование в чем разница(*)

к устному вычислению суммы 7+(93+15), мы применяем (неявно) правило конкретизации: мысленно мы отбрасываем в записи закона ассоциативности кванторы общности, подставляем вместо переменных х, у, z постоянные «7», «93» и «15» соответственно и получаем равенство 7 + (93 + 15) = (7 + 93) +15, следующее из (*) по правилу конкретизации.

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

Обобщение, абстрагирование и конкретизация находят широкое применение в специальных методах обучения математике, о которых речь пойдет дальше.

Если некоторая реальная ситуация или связанная с нею задача приводит к еще не изученной математической модели, то приходится исследовать новый класс моделей.

Для осуществления перехода от конкретной модели к классу моделей такого типа используется обобщение и абстрагирование. Применение же результатов исследования к конкретной модели этого класса предполагает использование конкретизации.

Например, пусть некоторая задача описывается с помощью квадратного уравнения

когда учащиеся еще не умеют решать подобные уравнения.

Это является стимулом для изучения соответствующего класса уравнений (моделей)

аx 2 + + с = 0. Обобщение и абстрагирование в чем разница. Смотреть фото Обобщение и абстрагирование в чем разница. Смотреть картинку Обобщение и абстрагирование в чем разница. Картинка про Обобщение и абстрагирование в чем разница. Фото Обобщение и абстрагирование в чем разница(2)

Переход от конкретной модели (1) к классу моделей (2), т. е. от единичного к общему, осуществляется заменой коэффициентов, представляющих собой имена чисел, числовыми переменными.

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

Процесс абстрагирования в математике во многом отличается от аналогичного процесса в других науках, поскольку способы абстрагирования зависят от природа изучаемых объектов, характера и целей их изучения. Поэтому естественно, что характеристические особенности абстрагирования в математике неизбежно должны находить некоторое отражение и в методах обучения математике.

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

Так, отношение равночисленности множеств объединяет в один класс все конечные множества, между которыми можно установить взаимно однозначное соответствие (эквивалентные множества). От множеств, принадлежащих одному и тому же классу эквивалентности, абстрагируется их общее свойство, характеризующее этот класс. Это свойство и является самостоятельным понятием натурального числа, выражающего численность множеств (одна и та же для каждого множества) из данного класса.

Так формировалось понятие натурального числа в длительном историческом процессе, так оно формируется и в обучении дошкольников и младших школьников.

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

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

Рассмотрим еще несколько примеров.

Отношение сонаправленности лучей (плоскости или пространства) разбивает множество лучей на классы эквивалентности (классы сонаправленных лучей). Все лучи одного класса отождествляются по свойству одинаковости направления (отношению сонаправленности). По существу каждый класс сонаправленных лучей представляет собой одно направление. Но это направление определяется любым лучом (представителем) этого класса.

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

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

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

Обобщение и абстрагирование в чем разница. Смотреть фото Обобщение и абстрагирование в чем разница. Смотреть картинку Обобщение и абстрагирование в чем разница. Картинка про Обобщение и абстрагирование в чем разница. Фото Обобщение и абстрагирование в чем разница Обобщение и абстрагирование в чем разница. Смотреть фото Обобщение и абстрагирование в чем разница. Смотреть картинку Обобщение и абстрагирование в чем разница. Картинка про Обобщение и абстрагирование в чем разница. Фото Обобщение и абстрагирование в чем разница(*)

т. е. два направленных отрезка эквивалентны, если соответствующие лучи сонаправлены, а длины этих отрезков равны.

Так как это отношение является отношением эквивалентности, то оно порождает разбиение множества всех направленных отрезков на классы эквивалентности.

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

Такое отождествление вполне правомерно, так как практически в физических и других приложениях векторов мы работаем не с классами эквивалентных направленных отрезков, а с теми или иными представителями этих классов, т. е. с направленными отрезками, исходящими из определенных точек.

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

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

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

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

Особым видом идеализации является абстракция потенциальной осуществимости. Например, при построении натуральных чисел абстрагируются от того, что невозможно написать или назвать число, содержащее в десятичной записи слишком много цифр (например, 10 ). Нам достаточно допустить возможность, как только дошло до некоторого числа п, написания и следующего за ним числа п + 1. Точно так же при изучении геометрии, пользуясь изображениями лишь конечных участков (отрезков) прямой, мы допускаем возможность неограниченного продолжения их в обе стороны или допускаем возможность безграничного деления отрезка или других фигур.

Источник

Какая разница между абстракцией и обобщением?

Итак, мой вопрос таков: как абстракция отличается от обобщения? Я ищу ответы, в основном связанные с функциональным программированием. Однако, если есть параллели в объектно-ориентированном программировании, я также хотел бы узнать об этом.

ОТВЕТЫ

Ответ 1

Объект:

Обобщение и абстрагирование в чем разница. Смотреть фото Обобщение и абстрагирование в чем разница. Смотреть картинку Обобщение и абстрагирование в чем разница. Картинка про Обобщение и абстрагирование в чем разница. Фото Обобщение и абстрагирование в чем разница

Абстракция:

Обобщение и абстрагирование в чем разница. Смотреть фото Обобщение и абстрагирование в чем разница. Смотреть картинку Обобщение и абстрагирование в чем разница. Картинка про Обобщение и абстрагирование в чем разница. Фото Обобщение и абстрагирование в чем разница

Обобщение:

Обобщение и абстрагирование в чем разница. Смотреть фото Обобщение и абстрагирование в чем разница. Смотреть картинку Обобщение и абстрагирование в чем разница. Картинка про Обобщение и абстрагирование в чем разница. Фото Обобщение и абстрагирование в чем разница

Пример в Haskell:

Реализация сортировки сортировки с использованием очереди приоритетов с тремя различными интерфейсами:

Код также доступен через pastebin.

Кредиты: Картонный торт Solo. Десертный стол djttwo. Символ был основан на Portal.

Ответ 2

Действительно очень интересный вопрос. Я нашел эту статью по теме, в которой кратко говорится, что:

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

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

Мы просто абстрагировались от реальных книг в нашей библиотеке и взяли только те свойства, которые нас интересовали в контексте нашего приложения.

Раунд 2

Ответ @dtldarek действительно очень хорошая иллюстрация! Исходя из этого, здесь приведен код, который может дать дальнейшие разъяснения.

Обобщение и абстрагирование в чем разница. Смотреть фото Обобщение и абстрагирование в чем разница. Смотреть картинку Обобщение и абстрагирование в чем разница. Картинка про Обобщение и абстрагирование в чем разница. Фото Обобщение и абстрагирование в чем разница

Затем мы могли бы написать обобщенную логику, которая применима ко всем Borrowable (на данный момент нам все равно, книга это или журнал):

Подводя итог: мы сохранили абстрактное представление всех книг, журналов и DVD-дисков в нашей базе данных, поскольку точное представление не является ни осуществимым, ни необходимым. Затем мы пошли дальше и сказали

Не имеет значения, заимствована ли книга, журнал или DVD клиентом. Это всегда один и тот же процесс.

Таким образом, мы обобщили операцию заимствования предмета, определив все вещи, которые можно одолжить, как Borrowable s.

Ответ 3

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

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

Обобщение

В статье говорится, что:

«Концепция обобщения в ООП означает, что объект инкапсулирует общее состояние и поведение для категории объектов.

Так, например, если вы применяете обобщение к фигурам, то общие свойства для всех типов фигур являются областью и периметром.

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

Обобщение и абстрагирование в чем разница. Смотреть фото Обобщение и абстрагирование в чем разница. Смотреть картинку Обобщение и абстрагирование в чем разница. Картинка про Обобщение и абстрагирование в чем разница. Фото Обобщение и абстрагирование в чем разница

Аналогично, если вы работаете в домене реактивных самолетов, у вас может быть Jet как обобщение, которое будет иметь свойство крыла. Специализацией Jet может быть FighterJet, который наследует свойство wingspan и будет иметь свое собственное свойство, уникальное для истребителей, например. NumberOfMissiles.

Абстрактные

В статье определяется абстракция как:

«процесс определения общих закономерностей, которые вариации; абстракция представляет собой общую картину и обеспечивает средство для определения того, какую вариацию использовать» (Richard Gabriel)»

В области программирования:

Следовательно, в примере, приведенном выше в разделе обобщения, форма является абстрактной как:

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

Однако, будучи абстрактным, форма также является обобщением (поскольку она «инкапсулирует общее состояние и поведение для категории объектов», где в этом случае объекты являются фигурами).

Возвращаясь к примеру, который я дал о Jets и FighterJets, Jet не является абстрактным, поскольку конкретный экземпляр Jet возможен, поскольку он может существовать в реальном мире, в отличие от формы, то есть в реальном мире, который вы не можете удерживать форма, в которой вы держите экземпляр формы, например куб. Таким образом, в примере самолета Jet не является абстрактным, это обобщение, так как можно иметь «конкретный» экземпляр струи.

Ответ 4

Не ссылаться на достоверный/официальный источник: пример в Scala

Ответ 5

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

Пример: Проводная модель автомобиля.

Обобщение использует отношение «is-a» от специализации к классу обобщений. Общая структура и поведение используются от специализации к обобщенному классу. На более широком уровне вы можете понимать это как наследование. Почему я беру термин наследование, вы можете очень хорошо относиться к этому термину. Обобщение также называется отношением «Is-a».

Ответ 6

Я хотел бы предложить ответ для максимально возможной аудитории, поэтому я использую Lingua Franca в Интернете, Javascript.

Давайте начнем с обычной части императивного кода:

Ответ 7

Позвольте мне объяснить самым простым способом.

«Все симпатичные девушки одеваются». является обобщением.

Ответ 8

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

Обобщение необязательно требует, чтобы избежать деталей, а скорее иметь некоторый механизм, позволяющий применять одну и ту же функцию к другому аргументу. Например, полиморфные типы в языках функционального программирования позволяют не беспокоиться о аргументах, а скорее сосредоточиться на работе функции. Аналогично, в java вы можете иметь общий тип, который является «зонтиком» для всех типов, тогда как функция одинакова.

Источник

Какая разница между абстракцией и обобщением?

Итак, мой вопрос таков: как абстракция отличается от обобщения? Я ищу ответы, в основном связанные с функциональным программированием. Однако, если есть параллели в объектно-ориентированном программировании, я также хотел бы узнать об этом.

ОТВЕТЫ

Ответ 1

Объект:

Обобщение и абстрагирование в чем разница. Смотреть фото Обобщение и абстрагирование в чем разница. Смотреть картинку Обобщение и абстрагирование в чем разница. Картинка про Обобщение и абстрагирование в чем разница. Фото Обобщение и абстрагирование в чем разница

Абстракция:

Обобщение и абстрагирование в чем разница. Смотреть фото Обобщение и абстрагирование в чем разница. Смотреть картинку Обобщение и абстрагирование в чем разница. Картинка про Обобщение и абстрагирование в чем разница. Фото Обобщение и абстрагирование в чем разница

Обобщение:

Обобщение и абстрагирование в чем разница. Смотреть фото Обобщение и абстрагирование в чем разница. Смотреть картинку Обобщение и абстрагирование в чем разница. Картинка про Обобщение и абстрагирование в чем разница. Фото Обобщение и абстрагирование в чем разница

Пример в Haskell:

Реализация сортировки сортировки с использованием очереди приоритетов с тремя различными интерфейсами:

Код также доступен через pastebin.

Кредиты: Картонный торт Solo. Десертный стол djttwo. Символ был основан на Portal.

Ответ 2

Действительно очень интересный вопрос. Я нашел эту статью по теме, в которой кратко говорится, что:

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

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

Мы просто абстрагировались от реальных книг в нашей библиотеке и взяли только те свойства, которые нас интересовали в контексте нашего приложения.

Раунд 2

Ответ @dtldarek действительно очень хорошая иллюстрация! Исходя из этого, здесь приведен код, который может дать дальнейшие разъяснения.

Обобщение и абстрагирование в чем разница. Смотреть фото Обобщение и абстрагирование в чем разница. Смотреть картинку Обобщение и абстрагирование в чем разница. Картинка про Обобщение и абстрагирование в чем разница. Фото Обобщение и абстрагирование в чем разница

Затем мы могли бы написать обобщенную логику, которая применима ко всем Borrowable (на данный момент нам все равно, книга это или журнал):

Подводя итог: мы сохранили абстрактное представление всех книг, журналов и DVD-дисков в нашей базе данных, поскольку точное представление не является ни осуществимым, ни необходимым. Затем мы пошли дальше и сказали

Не имеет значения, заимствована ли книга, журнал или DVD клиентом. Это всегда один и тот же процесс.

Таким образом, мы обобщили операцию заимствования предмета, определив все вещи, которые можно одолжить, как Borrowable s.

Ответ 3

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

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

Обобщение

В статье говорится, что:

«Концепция обобщения в ООП означает, что объект инкапсулирует общее состояние и поведение для категории объектов.

Так, например, если вы применяете обобщение к фигурам, то общие свойства для всех типов фигур являются областью и периметром.

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

Обобщение и абстрагирование в чем разница. Смотреть фото Обобщение и абстрагирование в чем разница. Смотреть картинку Обобщение и абстрагирование в чем разница. Картинка про Обобщение и абстрагирование в чем разница. Фото Обобщение и абстрагирование в чем разница

Аналогично, если вы работаете в домене реактивных самолетов, у вас может быть Jet как обобщение, которое будет иметь свойство крыла. Специализацией Jet может быть FighterJet, который наследует свойство wingspan и будет иметь свое собственное свойство, уникальное для истребителей, например. NumberOfMissiles.

Абстрактные

В статье определяется абстракция как:

«процесс определения общих закономерностей, которые вариации; абстракция представляет собой общую картину и обеспечивает средство для определения того, какую вариацию использовать» (Richard Gabriel)»

В области программирования:

Следовательно, в примере, приведенном выше в разделе обобщения, форма является абстрактной как:

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

Однако, будучи абстрактным, форма также является обобщением (поскольку она «инкапсулирует общее состояние и поведение для категории объектов», где в этом случае объекты являются фигурами).

Возвращаясь к примеру, который я дал о Jets и FighterJets, Jet не является абстрактным, поскольку конкретный экземпляр Jet возможен, поскольку он может существовать в реальном мире, в отличие от формы, то есть в реальном мире, который вы не можете удерживать форма, в которой вы держите экземпляр формы, например куб. Таким образом, в примере самолета Jet не является абстрактным, это обобщение, так как можно иметь «конкретный» экземпляр струи.

Ответ 4

Не ссылаться на достоверный/официальный источник: пример в Scala

Ответ 5

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

Пример: Проводная модель автомобиля.

Обобщение использует отношение «is-a» от специализации к классу обобщений. Общая структура и поведение используются от специализации к обобщенному классу. На более широком уровне вы можете понимать это как наследование. Почему я беру термин наследование, вы можете очень хорошо относиться к этому термину. Обобщение также называется отношением «Is-a».

Ответ 6

Я хотел бы предложить ответ для максимально возможной аудитории, поэтому я использую Lingua Franca в Интернете, Javascript.

Давайте начнем с обычной части императивного кода:

Ответ 7

Позвольте мне объяснить самым простым способом.

«Все симпатичные девушки одеваются». является обобщением.

Ответ 8

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

Обобщение необязательно требует, чтобы избежать деталей, а скорее иметь некоторый механизм, позволяющий применять одну и ту же функцию к другому аргументу. Например, полиморфные типы в языках функционального программирования позволяют не беспокоиться о аргументах, а скорее сосредоточиться на работе функции. Аналогично, в java вы можете иметь общий тип, который является «зонтиком» для всех типов, тогда как функция одинакова.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *