![]() |
![]() |
![]() |
Концепция объектно-ориентированного
программирования предполагает возможность определять новые классы посредством
добавления полей, свойств и методов к уже существующим классам. Такой механизм
получения новых классов называется порождением. При этом но.вый, порожденный
класс (потомок) наследует свойства и методы своего базового, родительского класса.
В объявлении класса-потомка
указывается класс родителя. Например, класс TEmployee (сотрудник) может быть
порожден от рассмотренного выше класса TPerson путем добавления поля FDepartment
(отдел). Объявление класса TEmplioyee в этом случае может выглядеть так:
TEmployee
= class(TPerson)
FDepartment:
integer; // номер отдела
constructor Create(Name:TName; Dep:integer);
end;
Заключенное в скобки
имя класса TPerson показывает, что класс TEmployee является производным от класса
TPerson. В свою очередь, класс TPerson является базовым для класса TEmployee.
Класс TEmpioyee должен
иметь свой собственный конструктор, обеспечивающий инициализацию класса-родителя
и своих полей. Вот пример реализации конструктора класса TEmployee:
constructor TEmpioyee.Create(Name:Tname;Dep:integer);
begin
inherited
Create(Name);
FDepartment:=Dep;
end;
В приведенном примере
директивой inherited вызывается конструктор родительского класса. После этого
присваивается значение полю класса-потомка.
После создания объекта
производного класса в программе можно использовать поля и методы родительского
класса. Ниже приведен фрагмент программы, демонстрирующий эту возможность.
engineer := TEmployee.Create('Сидоров',413);
engineer.address
:= 'ул.Блохина, д.8, кв.10';
Первая инструкция создает объект типа TEmployee, вторая — устанавливает значение свойства, которое относится к родительскому классу.
![]() |
![]() |
![]() |
Дело в том, что в его постановке и выводах произведена подмена, аналогичная подмене в школьной шуточной задачке на сообразительность, в которой спрашивается:
- Cколько яблок на березе, если на одной ветке их 5, на другой ветке - 10 и так далее
При этом внимание учеников намеренно отвлекается от того основополагающего факта, что на березе яблоки не растут, в принципе.
В эксперименте Майкельсона ставится вопрос о движении эфира относительно покоящегося в лабораторной системе интерферометра. Однако, если мы ищем эфир, как базовую материю, из которой состоит всё вещество интерферометра, лаборатории, да и Земли в целом, то, естественно, эфир тоже будет неподвижен, так как земное вещество есть всего навсего определенным образом структурированный эфир, и никак не может двигаться относительно самого себя.
Удивительно, что этот цирковой трюк овладел на 120 лет умами физиков на полном серьезе, хотя его прототипы есть в сказках-небылицах всех народов всех времен, включая барона Мюнхаузена, вытащившего себя за волосы из болота, и призванных показать детям возможные жульничества и тем защитить их во взрослой жизни. Подробнее читайте в FAQ по эфирной физике.
|
![]() |