Руководство разработчика

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

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

У каждого объектного типа имеется только один непосредственный предок, который называется его родителем. Каждый объектный тип может иметь произвольное количество непосредственных потомков. Таким образом, любая иерархия объектных типов может быть представлена в виде дерева, корнем которого является объектный тип без родительского типа. При наследовании любое зацикливание ветки иерархии типов запрещено. Это означает, что тип не может наследоваться не только от себя самого, но и от любого из своих потомков. Общее правило гласит, что тип-потомок не может быть объявлен раньше типа-родителя, даже если зацикливания иерархии типов не происходит.

Пример 1

Пример 1 иллюстрирует ошибку, так как тип не может наследоваться не только от самого себя, но и от любого типа-потомка.

ТИП А(А)
[
]

Пример 2

Пример 2 также иллюстрирует ошибку, так как наследование происходит от еще необъявленного типа. К моменту объявления типа А тип Б еще не объявлен. Объявление типов с неизвестным родительским типом запрещено.

ТИП А(Б)
[
]

ТИП Б
[
]

См. также: