SITUATIONDelphi erben Erstellen von TObject
Diese Frage sehr einfach sein kann, aber ich bin neu in Delphi und ich bin es jetzt studieren. Um Klassen besser zu verstehen, habe ich eine entwickelt, die die Lösungen von Gleichungen zweiten Grades berechnet. Dies ist der Code:
type
TArrayOfStrings = array of string;
type
TEqSecGrado = class(TObject) sealed
private
a, b, c: double;
delta: double;
solutions: TArrayOfStrings;
function getDelta(vala, valb, valc: double): double; overload;
public
constructor Create(a, b, c: double);
function getDelta: double; overload;
function getSolutions: TArrayOfStrings; virtual;
end;
Das ist ziemlich in der Tat einfach, aber ich würde auf den constructor
konzentrieren möge.
FRAGE
Aus dem Buch, dass ich weiß, ich lese meine Klasse (auch wenn die (TObject)
ist nicht erforderlich) eigentlich eine Unterklasse von TObject ist. Aus diesem Grund kann ich den Konstruktor Create
standardmäßig ohne Parameter aufrufen. Meine Frage ist:
Muss ich die inherited
anrufen? Ich habe untersucht, dass ich mit dem oben genannten Schlüsselwort das Verhalten des Konstruktors Create
in TObject in meiner Klasse "kopiere". Ich muss das Objekt sicher erstellen, aber dann muss ich auch Standardwerte für meine Parameter festlegen.
Da es nicht sehr gut erklärt ist, habe ich nicht verstanden, wenn ich inherited
verwenden muss. Soll ich es in diesem Fall tun?
Mögliche Duplizierung: Werfen Sie einen Blick auf http://StackOverflow.com/Questions/772336/using-inherited-in-the-Create-Constructor-of-an-Tobject –
Ich habe einen Fehler, wenn ich die geerbt in mein Erstellen. Ich würde gerne sehen, was andere vorschlagen müssen –
'geerbt;' in einem Konstruktor mit Parametern versucht, den gleichen Konstruktor mit den gleichen Parametern der Oberklasse aufzurufen. Das gibt es nicht, also bekommst du einen Fehler. Versuchen Sie stattdessen 'geerbt Create; '. Nun macht 'TObject.Create' nichts, aber wenn Sie eines Tages entscheiden, von einer anderen Klasse zu erben, ist es immer noch gültig. –