Наследование классов. Delphi
Наследование - один из фундаментальных принципов ООП. Новый класс-наследник содержит все методы, поля и свойства класса родителя и имеет у ним доступс некоторым возможным ограничением (за это отвечают спецификаторы доступа: public, private, protected).
Удалим в разделе interface метод Init и его реализацию. Будем использовать конструктор с параметрами.
При нажатии Shift+Ctrl+C попадаем в заготовку после описания метода в интерфейсной части.
При создании объекта используем Par1:=Create(Fa, Fb, Fc).
На основе класса TParalllel создадим производный класс - TBar, в который будет добавлено новое поле - плотность и метод Weight.
TBar = class (TParalllel)
имеет методы:
Метод Volume, унаследованный от TParalllel.
Новый одноимённый метод Show, перекрывающий родительский.
Новый метод massa
Собственный конструктор и поле Ro.
В момент формирования объектов в памяти всегда должен вызываться сначала конструктор базового класса, инициализирующий базовую часть объекта. А затем вызывается конструктор производного класса, отвечающий за иниализацию остальной части объекта.
Десирукторы вызываться в обратном порядке конструктора.
Вызов родительского метода предворяется ключевым словом Inherited. Если в производном классе объявлен метод с тем же именем, что и в базовым классе, то этот новый одноимённый метод производного класса отменяет старый метод и для объекта производного класса будет вызваться новый метод. В этом случае говорят, что новый одноимённый метод производного класса перекрыл (заменил) старый одноимённый метод родительского класса. Такие методы называются статическими.
Опишем реализацию класса TBar. Создадим обработчик Button1.Click, который вызывает два метода. Закомментируем метод Show в классе TBar - будет вызван метод класса-родителя TParalllel.
Удалим в разделе interface метод Init и его реализацию. Будем использовать конструктор с параметрами.
При нажатии Shift+Ctrl+C попадаем в заготовку после описания метода в интерфейсной части.
При создании объекта используем Par1:=Create(Fa, Fb, Fc).
На основе класса TParalllel создадим производный класс - TBar, в который будет добавлено новое поле - плотность и метод Weight.
TBar = class (TParalllel)
имеет методы:
Метод Volume, унаследованный от TParalllel.
Новый одноимённый метод Show, перекрывающий родительский.
Новый метод massa
Собственный конструктор и поле Ro.
В момент формирования объектов в памяти всегда должен вызываться сначала конструктор базового класса, инициализирующий базовую часть объекта. А затем вызывается конструктор производного класса, отвечающий за иниализацию остальной части объекта.
Десирукторы вызываться в обратном порядке конструктора.
Вызов родительского метода предворяется ключевым словом Inherited. Если в производном классе объявлен метод с тем же именем, что и в базовым классе, то этот новый одноимённый метод производного класса отменяет старый метод и для объекта производного класса будет вызваться новый метод. В этом случае говорят, что новый одноимённый метод производного класса перекрыл (заменил) старый одноимённый метод родительского класса. Такие методы называются статическими.
Опишем реализацию класса TBar. Создадим обработчик Button1.Click, который вызывает два метода. Закомментируем метод Show в классе TBar - будет вызван метод класса-родителя TParalllel.
Комментарии
Отправить комментарий