Наследование
Класс, как уже упоминалось, представляет собой тип или категорию объектов (в области программного обеспечения это шаблон для создания новых объектов). Объект — это экземпляр класса. Такая идея имеет важное продолжение: как экземпляр класса объект имеет все характеристики своего класса. Это называется наследованием. Если для класса стиральной машины определен набор атрибутов и операций, каждый объект класса будет наследовать эти атрибуты и операции.
Свойства класса наследуют не только объекты — один класс может наследовать свойства другого. Стиральные машины, холодильники, микроволновые печи, тостеры, посудомоечные машины, радиоприемники, вафельницы, миксеры и металлическая посуда являются классами. Они также являются составляющими более общего класса бытовой техники. Бытовая техника имеет атрибуты: выключатель, электропровод и операции "включить", "выключить". Каждый класс бытовой техники наследует эти свойства. Поэтому, если некий объект относится к классу бытовой техники, то он имеет общие для бытовой техники свойства и операции.
Предыдущую мысль можно выразить и по-другому: стиральная машина, холодильник, микроволновая печь являются подклассами класса бытовой техники. Класс бытовой техники, соответственно, является суперклассом для всех типов бытовых приборов. Рис. 2.3 иллюстрирует взаимоотношения суперкласса с подклассами.
Рис. 2.3. Бытовые приборы наследуют атрибуты и операции класса бытовой техники. Каждый бытовой прибор является подклассом класса бытовой техники. Класс бытовой техники является суперклассом каждого подкласса
Наследование не ограничивается приведенным примером. Бытовая техника, например, является подклассом класса домашнего оборудования. Мебель — это другой подкласс указанного класса (рис. 2.4). Мебель, естественно, имеет свои собственные подклассы.
Рис. 2.4. Суперклассы, в свою очередь, могут быть подклассами и наследовать свойства других суперклассов