ВУЗ:
Составители:
Рубрика:
13
В конструкторе для каждого поля должен быть оператор присваивания. Все поля
должны перейти из “неопределенного” состояния в какое-либо известное состояние,
предусмотренное по умолчанию.
Не следует оставлять ни одно поле нового экземпляра объекта неинициализированным.
Конструктор должен выполнять инициализацию всех полей.
1.5.5 Наследование конструкторов
Рассмотрим классовую иерархию наследования, построенную следующим образом: класс
TBook - прямой поток базового класса TObject; класс TTechnicalBook является конкретной
специализацией, или расширением, класса TBook (см. рис. 1).
TOject
TBook
TTechnicalBook
Рис. 1. Иерархия наследования классов книг
Листинг 1 показывает одну из возможных реализаций классов книг.
Листинг 1. Реализация классов книг
1: unit Book1;
2:
3: interface
4:
5: uses
6: Authors,
7: Editors;
8:
9: type
10: TBook = class
11: FAuthor: TAuthor;
12: FTitle: String;
13: constructor Create(AnAuthor: TAuthor; const ATitle: String);
14: function GetAuthor: TAuthor;
15: procedure SetAuthor (const AnAuthor: TAuthor);
16: function GetTitle: String;
Страницы
- « первая
- ‹ предыдущая
- …
- 11
- 12
- 13
- 14
- 15
- …
- следующая ›
- последняя »