46290

Проблема расширения функциональности в объектно-ориентированном подходе

Доклад

Информатика, кибернетика и программирование

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

Русский

2013-11-20

11.85 KB

0 чел.

15.Проблема расширения функциональности в объектно-ориентированном подходе.

Проблемы с расширением функциональности альтернатив

При добавлении нового обработчика специализации необходимо включить в

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

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

Проблемы при добавлении специализированных действий

Частный случай:

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

Использование объектно-ориентированного подхода

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

Возможные пути:

1. Использование динамического анализа типа объекта.

Но это – процедурный прием, так как используются внешние свойства объекта.

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

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


 

А также другие работы, которые могут Вас заинтересовать

60418. Загальна характеристика класу Земноводні 405.5 KB
  Мета: сформувати в учнів знання про наступний клас типу Хордові Земноводні; ознайомити учнів із середовищем існування земноводних їх способом життя; розглянути зовнішню будову на прикладі жаби озерної...
60419. Особливості процесів життєдіяльності та поведінки Земноводних 139 KB
  Мета: продовжувати формувати знання учнів про земноводних тварин; розкрити особливості внутрішньої будови земноводних системи органів; ознайомити із особливостями процесів життєдіяльності...
60420. Загальна характеристика класу Земноводні 48 KB
  Так саме жаби зробили неоціненний вклад в розвиток науки. До земноводних належать жаби ропухи тритони саламандри прочитав Сашко тихим голосом і замовк. Полудень і жаби підставили свої спини яскравим сонячним променям.
60421. Школьный пресс-центр как интеллектуально-творческое объединение учащихся 73 KB
  Оформление наглядности: создание настенных плакатов отражающих работу пресс-центра. 1 Приобретение канцтоваров Попечительский совет 2 Оплата энергопотребления Попечительский совет...
60422. Церковне життя України у першій половині ХVІІ століття 60 KB
  Мета: визначити вплив Берестейської унії на церковне життя України; розглянути діяльність митрополита Петра Могили; розвивати вміння працювати з підручником та історичними документами виховувати інтерес...
60423. Загальні основи фізичної підготовки в гуртках спортивного туризму 1.04 MB
  Загальна та спеціальна фізичні підготовки мають бути спрямовані безпосередньо на розвиток фізичних якостей, потрібних для обраного виду туризму. Та сподіваюсь що дані методичні рекомендації стануть у пригоді не лише керівникам гуртків спортивного туризму
60425. Палити чи не палити? 1.5 MB
  Отже тема нашої виховної години Палити чи не палити. Дати відповідь на ці запитання ми з вами зможемо після того як переглянемо сторінки усного журналу Палити чи не палити.
60426. Жири. Склад, будова, властивості, біологічне значення і практичне застосування жирів 2.18 MB
  Тематичні питання: Який склад жирів Яка будова жирів Що являють собою жири як хімічні речовини Які хімічні властивості жирів Які властивості насичених І ненасичених жирів...