АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Множественное наследование: суть, необходимость, проблемы. Интерфейсы

Читайте также:
  1. Exercises for Lesson 2. Possessions / Личные вещи. Лексика. Множественное число. Притяжательные прилагательные. Притяжательные местоимения.
  2. Exercises for Lesson 2. Possessions / Личные вещи. Лексика. Множественное число. Притяжательные прилагательные. Притяжательные местоимения.
  3. Безробіття: суть, структура, вимірювання та соціально – економічні наслідки.
  4. Биоэтика: исторические модели, аспекты, актуальные проблемы.
  5. В ходе производства очной ставки возникают многочисленные проблемы. Существует проблема принятия решения о целесообразности проведения очной ставки и выбор момента ее проведения.
  6. Винагорода за працю. Заробітна плата: суть, форми і системи
  7. Глобальные экологические проблемы: озоновые дыры. Причины разрушения озонового слоя Земли и пути решения данной проблемы.
  8. Инкапсуляция и наследование: суть инкапсуляции, суть наследования, предок, потомок, иерархии классов.
  9. Інфляція, її суть, види і причини виникнення
  10. Інфляція: суть, показники, причини, види та наслідки.
  11. Інфляція:суть,причини,наслідки.Крива Філіпса.
  12. Макроекономічні показники: суть, види, методи обчислення. Номінальний і реальний ВВП.

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

Другим решением будет объявление потомка от двух классов. Это называется множественным наследованием. При множественном наследовании потомок наследует все методы и свойства всех своих предков.

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

Интерфейс может иметь предков и наследовать все их методы. Но интерфейс не реализует методы. Классы, поддерживающие интерфейс, должны реализовывать его методы.

Паттерны.

Composite

Объединяет объекты в древовидную структуру для представления иерархии от частного к целому. Компоновщик позволяет клиентам обращаться к отдельным объектам и к группам объектов одинаково. Как правило состоит из общего интерфейса (CShape) для объектов и некоторого класса (CGroup), содержащего в себе коллекцию из CShape’ов, а методы переопределенные в CGroup работют для каждого элемента коллекции, что позволяет получить некоторую иерархичную структуру. Применение – слои в photoshop, которые могут располагаться в группах, которые в свою очередь тоже могут быть в группах.

 

Observer

Определяет зависимость типа «один ко многим» между объектами таким образом, что при изменении состояния одного объекта все зависящие от него оповещаются об этом событии. Состоит из источника(CSubject) и приемников(CObserver). Приемники могут подписываться к источнику и после чего получать сообщения в момент, когда источник меняет своё состояние. Применение – различного рода оповещения от операторов, которым совершенно без разницы что мы будем делать с полученным смс, т.к. их дело – уведомить нас, но мы так же можем отключить уведомляшечки, тем самым отписавшись от получения сообщения при событии.

 

Prototype

Создает новые объекты по образу и подобию исходных объектов. Состоит из абстрактного класса с методом clone() и унаследованных от него конкретных классов реализующих clone() и возвращающих копию себя. Применение – копипастэ(?)

 

Command

Позволяет реализовывать команды которые можно выполнить и затем в случае необходимости отменить. Абстрактный класс состоит из метода execute который применяет действие для некоторого объекта, и unexecute, который отменяет созданное действие. При Execute запоминается выполненное действие, а при unexecute производится выполнение противоположного по смыслу действия. Применение – undo/redo в любом его проявлении.


1 | 2 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.)