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

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

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

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

Рис. 2.3. Бытовые приборы наследуют атрибуты и операции класса бытовой техники. Каждый бытовой прибор явля­ется подклассом класса бытовой техники. Класс бытовой техники является суперклассом каждого подкласса

Наследование не ограничивается приведенным примером. Бытовая техника, например, является подклассом класса домашнего оборудования. Мебель — это другой подкласс ука­занного класса (рис. 2.4). Мебель, естественно, имеет свои собственные подклассы.

Рис. 2.4. Суперклассы, в свою очередь, могут быть под­классами и наследовать свойства других суперклассов