Полиморфизм

Пример

Наследование

Пример

Инкапсуляция

Принципы

Отличия от традиционных подходов

В соответствии с такими подходами основное внимание уделяется информации, с которой работает система. Это подходы, ориентированные на данные (data-centric). Они важны при проектировании баз данных и систем сбора информации, но при разработке бизнес-приложений возникают проблемы, связанные с трудностями изменения деловых правил или поведения системы со временем.

В объектно-ориентированная (ОО) подходе внимание одинаково уделяется как информации, так и поведению. Соответственно, теперь мы можем создавать гибкие системы, позволяющие изменять содержащуюся в них информацию и/или их поведение.

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

В ОО-системах данные комбинируются с конкретным поведением, или действиями, осуществляемыми над ними. Все это объединяется в объект. Данный процесс называется инкапсуляцией.

Выгоды инкапсуляции

· Представление фрагментов системы в виде относительно независимых объектов.

· Возможность скрывать многочисленные детали объекта от внешнего мира.

· Ограничивает последствия изменений, вносимых в системы.

В результате – повышается гибкость ИС.

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

В ОО-системах наследование представляет собой механизм, позволяющий создавать новые объекты, основываясь на уже существующих. Порождаемый (child) объект-потомок наследует свойства порождающего или родительского (parent) объекта.

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

В банковской системе наследование можно применять для работы с различными типами счетов. Наш гипотетический банк обслуживает четыре типа счетов: до востребования (checking), сберегательный (savings), кредитный (credit) и депозитный сертификат. Эти различные типы счетов имеют сходные черты, к которым относятся номер счета, ставка процента и владелец. Итак, можно создать родительский объект account (счет) с общими характеристиками всех счетов. Объекты-потомки будут иметь наследуемые и свои собственные уникальные характеристики. Например, кредитный счет будет содержать лимит кредита и размер минимального взноса. Депозитный сертификат содержит срок платежа. Изменения в родительском объекте повлияют на всех потомков, но эти потомки могут адаптироваться и самостоятельно, не влияя друг на друга и на их предка.

Полиморфизм означает наличие множества форм или реализаций конкретной функциональности. В ОО-системах это означает, что конкретные функциональные возможности могут иметь множество реализаций.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: