Когда я пишу класс я знаю, что я могу использовать inherted ключевое слово, чтобы я мог наследовать поведение или TObject, такие как:Delphi подклассы наследования
type
TOperation = class(TObject)
constructor Create(dest, r1, r2: integer);
end;
и конструктор будет иметь inherited Create;
. Посмотрите на следующий класс:
type
TAddition = class(TOperation)
constructor Create(a1, a2: integer);
end;
Если первая линия TAddition является inherited Create;
это означает, что я наследуя поведение TOperation конечно. Но означает ли это, что я также наследую поведение TObject? (который является суперклассом Операции).
Когда я наследую от конструктора отцовского класса (смотрите на TAddition), я наследую только поведение, не так ли? Я ничего от отца класса
Полный код не инициализируется здесь:
TOperation = class(TOBject)
private
dest, v1, v2: integer;
public
constructor Create(dest, r1, r2: integer);
property destination: integer read dest;
property value1: integer read v1;
property value2: integer read v2;
end;
TMemoria = class(TOperation)
private
dest, r1: integer;
public
constructor Create(dest, r1: integer);
property destination: integer read dest;
property register1: integer read r1;
end;
constructor TOperation.Create(dest, r1, r2: integer);
begin
//inherit from TObject
inherited Create;
Self.r1 := r1;
Self.r2 := r2; //so on...
end;
constructor TMemoria.Create(dest, r1: integer);
begin
//inherit from TObject OR inherit from TOperation?
inherited Create;
end;
Вы должны быть намного яснее. В вас lr outline вы наследуете некоторый бит поведения не все. Вы обойдете родительский конструктор и перейдете непосредственно к конструктору TObject. Описание кода приводит к путанице. Покажи это. Мекве. –
Да, пожалуйста, добавьте реализацию ваших создателей –
Я добавил сценарий. Мой вопрос в основном, если подкласс в наследовании от TObject или от класса отца –