Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   inherited (https://www.delphipraxis.net/165836-inherited.html)

alex78 18. Jan 2012 14:15

inherited
 
Hallo Leute,

1.)kann mir jemand sagen ob es ein unterschied gibt zwischen:

A)
Code:
constructor TFruit.Create;
begin
Inherited; // Call the parent Create method

// Now set a default fruit name
self.name := 'Fruit';
end;

und
Code:
constructor TFruit.Create(name: string);
begin

Inherited Create; // Call the parent Create method

// And save the fruit name
self.name := name;
end;

so wie ich das verstanden hab, erbt er bei beiden methoden die create methode vom vorgänger !!?!? oder seh ich das falsch?

2.)ausserdem wollte ich das AOwner wissen(siehe beispiel), was das genau ist

TMeinButton = class(TButton)


wird durch das inherited hier
Delphi-Quelltext:
Code:
constructor TMeinButton.Create(AOwner: TComponent);
begin
inherited create(AOwner);
{ eigener initialisierungscode }
end;

3.) was macht das parent in diesem beispiel mit (AOwner)? und warum macht er das nicht bei 2.)?
Code:
constructor TMod.Create(AOwner: TComponent);
begin
inherited create(AOwner);
Parent := AOwner ;


PS: Bitte nur sinnvolle Antworten, da ich schon zig Pdf's gelesen hab und Websites. Aber nirgends war eine saubere erklärung. Also bevor irgendwelche ironische kommentare kommen dann lieber gar nicht antworten.

mfg

Alex

DeddyH 18. Jan 2012 14:23

AW: inherited
 
Bitte Crossposts in Zukunft verlinken.

alex78 18. Jan 2012 14:34

AW: inherited
 
danke :wink:

das war schlau !!!

sehe da ist jemand in allen foren.

ich hatte auch schon zu dem thema gegoogelt. aber viele so wie ich haben die gleiche frage gestellt, aber nirgends kam ne eindeutige antwort.

mfg

alex

himitsu 18. Jan 2012 15:51

AW: inherited
 
Wie wäre es mit [delphi]-Tags?



Kurzfassung:

inherited ohne Methodename nutzt automatisch den selben Namen, wie die übergeordnete Methode, inkl. aller Parameter.
Gut für eine überschriebene Methode, mit der selben Parametersignatur und mit den selben Parameterwerten.

Mit Namen wird genau die eine Version verwendet, und man muß Parameter selber übergeben.
Gut, wenn man eine andere Mehode aufrufen, bzw. andere Parameter übergeben will.

alex78 18. Jan 2012 17:20

AW: inherited
 
Vielen dank nochmals für die antworten. hab auch vom anderen forum antworten bekommen und bin nun schlauer. ich lerne seit letztem jahr programmierer in Griechenland. Hab vorher mit PCs nicht viel am Hut gehabt. Wir hatten letztes jahr Visual Basic, C und Pascal. Ich tu mich noch mit Delphi schwer. Ist überhaupt nicht vergleichbar mit VB6. array of components funktioniert ganz anders, ganz andere Komponenten mit anderen Eigenschaften. Naja wird schon klappen. Hab dieses jahr noch C++ vor mir. Das mach ich mit Privatlehrer weil ich mich sehr für diese Sprache interessiere und nen guten lehrer kenne. Die Lehrer die wir dieses Jahr haben zeigen uns gar nichts. Da kümmere ich mich selbst im Internet um alles.

mfg
alex

himitsu 18. Jan 2012 19:45

AW: inherited
 
Nja, mit Pascal hast'e ja schonmal eine kleine Grundlage für's Delphi.
Die Grundlegende Syntax ist ja im Großen und Ganzen gleich geblieben (wurde nur etwas erweitert, wie z.B. größere VCL und Generics)


Bin auch über QBASIC und dann Turbo Pascal zum Delphi gekommen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:14 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz