Реферат: Объектно-ориентированный подход к программированию
Constructor Create(Val: Integer); virtual;
end;
TmySecondClass = class(TMyFirstClass)
Private
AmyField: string; // Добавилиновоеполе
Protected
Procedure SetMyField(Val: string); // Добавилипроцедуру
Public
Constructor Create(Val: Integer); override; // Перегрузиликонструктор
Property MyField: string read AmyField write SetMyField; // Добавилисвойство
End;
Есть несколько правил области видимости объекта, которые помогут Вам разобраться со способами доступа к объектам и наследования объектов:
Поля, свойства и методы секции public не имеют ограничений на видимость.
Поля, свойства и методы секции private, доступны только в методах класса и в функциях, объявленных в том же модуле, где и класс.
Поля, свойства и методы секции protected тоже доступны только из методов класса и функций, объявленных в модуле, но они доступны в классах, являющихся потомками, в том числе и объявленных в других модулях.
При описании потомков, Вы можете изменять область видимости методов и свойств. Можно расширять область видимости, но не сужать. Т.е. если есть свойство в секции private, вы можете сделать его public, но не наоборот. Вот пример расширения области видимости:
Type
TmyClass=class(TObject)
Private
AmyField: Integer;
protected
property MyField: Integer read AmyField;
…
End;
TmySunClass = class(TMyClass)
…
Public
Property MyField; // Только упомянули его в другой секции и он поменял область видимости.
End;