Architecture Net

Классы


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

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

Наследование — это ключевая особенность парадигмы объектно-ориентированного программирования. В результате абстрагирования общие свойства некоторого набора классов включаются в базовый класс более высокого уровня. А в производных классах более узкой специализации, которые "наследуют" поведение базового класса, можно изменять свойства или добавлять новые. Именно наследование делает возможным повторное использование кода и позволяет расширить сферу применения имеющихся классов.

Рассмотрим базовый класс Reservable (Резервируемый объект, ресурс) и производные от него классы, Hotel (Гостиница) и Flight (Рейс). У всех резервируемых объектов есть общие свойства, например, объем. У каждого вида резервируемых объектов есть свои уникальные характеристики. Например, гостиница имеет название и находится в определенном городе, а рейс — начало и пункт назначения. На рис. 4.1 проиллюстрированы отношения между разными резервируемыми объектами.

Абстрактные классы

Некоторые классы никогда не используются для создания экземпляров, а служат только шаблонами для создания производных классов. Например, класс Reservable (Резервируемый объект, ресурс) слишком абстрактен для создания экземпляров. На практике приходится создавать экземпляры только производных от него классов, таких как Hotel (Гостиница) и Flight (Рейс). Класс, от которого нельзя создавать экземпляры, называется абстрактным. Примером такого класса может служить класс Reservable (Резервируемый объект, ресурс). Класс, от которого можно создавать экземпляры, называется конкретным.



Рис. 4.1. Отношение наследования для разных классов резервируемых объектов

Отношения между классами


Класс может находиться в следующих отношениях с другим классом:

  • Отношение наследования (IS-A, является) определяет, что один из классов является частным случаем другого. Класс Hotel (Гостиница) (подкласс, или производный класс) является одним из видов класса Reservable (Резервируемый объект, ресурс) т.е. надклассом, или базовым классом.


  • Отношение включения (HAS-A, имеет) определяет, что один класс (целое) состоит из других классов (частей). Объект HotelBroker (целое) включает в себя список объектов типа Hotel (Гостиница).


  • Отношение использования (USES-A, использует), — более слабое отношение между классами, чем включения (HAS-A, имеет). Это отношение можно определить следующим образом. Класс X находится в отношении использования (USES-A, использует) с классом У, если при выполнении обязанностей класса А" используется класс Y, т.е. в описании класса X используется класс Y.


  • CompEbook.ru Железо, дизайн, обучение и другие


    Содержание раздела