Difference between revisions of "Class/de"

From Free Pascal wiki
Jump to navigationJump to search
Line 1: Line 1:
 
{{Class}}
 
{{Class}}
<br>
+
<br><br>
 
Speicherbedarf: entspricht der Grösse der Klasse<br>
 
Speicherbedarf: entspricht der Grösse der Klasse<br>
 
<br>
 
<br>

Revision as of 10:09, 16 September 2012

Deutsch (de) English (en) français (fr) русский (ru)


Speicherbedarf: entspricht der Grösse der Klasse

Eine Klasse ist ein strukturierter Datentyp der sich aus folgendem zusammensetzen kann:

  • Variablen
  • Konstanten
  • Konstruktor
  • Destruktor
  • Initialisierungsteil
  • Funktionen
  • Pozeduren
  • Eigenschaften


Eine Klasse kann:

  • eine Basisklasse sein, d. h. es gibt keine Klasse von der sie abgeleitet wurde.
  • eine abgeleitete Klasse sein.
    • Eine abgeleitete Klasse kann niemals von mehr als einer Klasse (Elternklasse) abgeleitet sein.
    • Eine abgeleitete Klasse erbt (übernimmt) die Eigenschaften, Funktionen und Prozeduren der Elternklasse.
    • Eine abgeleitete Klasse kann die geerbten Eigenschaften, Funktionen und Prozeduren überschreiben bzw. überladen.
  • eine Elternklasse sein
    • Eine Elternklasse gibt ihre Eigenschaften, Funktionen und Prozeduren an die abgeletete Klasse weiter.
    • Eine Elternklasse gibt alle von ihrer Elternklasse geerbten Eigenschaften, Funktionen und Prozeduren an die abgeleitete Klasse weiter.


Beispiel für die Erstellung einer Basisklasse:

type
  TTest = class
  private
    { private declarations }
  public
    { public declarations }
  end;


Beispiel für die Erstellung einer abgeleiteten Klasse:

type
  TTest = class(TObject)
  private
    { private declarations }
  public
    { public declarations }
  end;


Beispiel wie die Deklaration einer abgeleiteten Klasse aussehen kann:

type
    TTest = class(TObject)
    private
        FSomeVar: Integer;
    public
        constructor Create; overload; // Überlädt den Konstruktor der Elternklasse
        constructor Create(Args: array of Integer); overload;
        destructor Destroy; override; // Überschreibt den Konstruktor der Elternklasse
        function GetSomeVar;
        procedure SetSomeVar(newvalue: Integer);
    published
        property SomeVar: Integer read GetSomeVar write SetSomeVar default 0;
    end;



--Olaf 07:53, 16 September 2012 (UTC)