принцип совместимости типов
obj объект класса
v переменная ссылка на obj
- v одного типа не может ссылаться на obj другого типа
- v может ссылаться только на obj своего типа
- v базового класса может быть присвоена ссылка на объект любого производного от него класса
- экземпляр объекта производного типа инкапсулирует экземпляр объекта базового типа
по ссылке на объект базового класса можно обращаться к объекту производного класса
базовому классу ничего не известно о членах, которые добавлены в производный от него класс
доступ к конкретным членам класса
определяется типом переменной ссылки на объект
не типом объекта, на который она ссылается
ссылка=base(ссылка)
base
тип базового класса
ссылка
на объект производного класса
ссылка
объект базового класса
ссылка на объект производного класса присваивается переменной ссылки на объект базового класса
доступ разрешается только к тем частям этого объекта, которые определяются базовым классом
в классе может быть сконструирована копия его объекта.
конструктор, принимающий объект своего класса в
качестве параметра