Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Frage zu OOP (https://www.delphipraxis.net/23244-frage-zu-oop.html)

Trax 31. Mai 2004 14:22


Frage zu OOP
 
Habe aus einem anderen Thread diesen source kopiert:

Delphi-Quellcode:
type
  TBluePanel = class(TPanel)
  public
    constructor Create(AOwner: TComponent); override;
  end;

constructor TBluePanel.Create(AOwner: TComponent);
begin
  inherited;
  Color := clBlue;
end;
Ich habe zum einen eine Frage zu inherited aber auch zu override/virtual;

1) in meiner Hilfe steht zu inherited:
Zitat:

inherited;
occurs frequently in the implementation of constructors. It calls the inherited constructor with the same parameters that were passed to the descendant.
was heißt das jetzt genau? das die standardfarbe "gesichert" wurde? warum genau brauch ich das überhaupt? wann findet es anwendung?


2) zu override habe ich im kopf das es immer dann angewendet wird, wenn eine Methode nicht konrekt vorhanden wird, aber beispielsweise in einer unterklasse verwendet wird.
Gleichzeitig hab ich aber auch noch im Kopf das jede abstrakte Methode auch als virtuell deklariert sein muss.
Also wiseo steht das nicht
Delphi-Quellcode:
constructor Create(AOwner: TComponent); virtual; override;
kann mir da jemand mit den begrifflichkeiten zur seite gehen?

Wäre nett, danke :thuimb: :zwinker:

Nicodius 31. Mai 2004 14:25

Re: Frage zu OOP
 
inherridet --> ist selbständig heißt an (fats) nix gebunden

FriFra 31. Mai 2004 14:28

Re: Frage zu OOP
 
Mit override; überschreibst Du den original constructor der Komponente.
inherited; ruft den von Dir überschriebenen original constructor auf... ansonsten müsstest Du die original Komponente, von welcher Deine abgeleitet wurde quasi komplett neu programmieren... so kommt eben nur noch Dein code hinzu.

czapie 31. Mai 2004 14:29

Re: Frage zu OOP
 
mit override gibst du, an die entsprechende Funktion
der Oberklasse in der abgeleiteten Klasse zu
überschreiben.
[Edit]So zu sagen zu ersetzen[/Edit]

Luckie 31. Mai 2004 14:32

Re: Frage zu OOP
 
Lies mal hier das Tutorial: http://tutorials.luckie-online.de -> "Klassen in Delphi"

MrSpock 31. Mai 2004 15:01

Re: Frage zu OOP
 
Zitat:

Zitat von Nicodius
inherridet --> ist selbständig heißt an (fats) nix gebunden

Inherited heißt "geerbt". Hier wird also die entsprechende Methode der Klasse aufgerufen, von der die neue Klasse abgeleitet wurde.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:49 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