Sign in Join
Wiki copytemporary

Revision 1 of 4, by Trev on 2-10-2020. The page as it is now.

Class/de


Zurück zu den Datentypen.
Zurück zu den reservierten Wörtern.

=Die Speicherverwaltung einer Klasse=

Der Speicherbedarf einer Klasse

Der Speicherbedarf einer Klasse entspricht dem Speicherbedarf aller ihrer Elemente.
Das heisst, der Speicherbedarf einer Klasse ist sehr individuell und es kann keine eindeutige Aussage dazu gemacht werden.

==Der Speicherort einer Klasse== Eine Klasse wird auf dem Heap gespeichert und über einen Zeiger auf dem Stack referenziert.
.
=Bestandteile (Objekte) einer Klasse= Eine Klasse ist ein strukturierter Datentyp, der sich aus folgendem zusammensetzen kann:\


==Deklaration einer Basisklasse== Beispiel:\

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


==Deklaration einer abgeleiteten Klasse== Beispiel:\

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


Erweitertes Beispiel:\

pascal
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 Destruktor der Elternklasse
      function GetSomeVar;
      procedure SetSomeVar(newvalue: integer);
   published
      property SomeVar: integer read GetSomeVar write SetSomeVar default 0;
   end;

\

Sichtbarkeit von Objekten

Die einzelnen Sichtbarkeitsstufen <b>private</b>, <b>protected</b>, <b>public</b> und <b>published</b> sind nach ihrer Sichtbarkeit absteigend angeordnet.
Das heisst, die höchste Sichtbarkeitsstufe (published) befindet sich unten.
\

pascal
type
  TTest = class(TObject)
  private 
    { Nur die Objekte der eigenen Klasse können diese Objekte sehen }
  protected
    { Nur die Objekte der eigenen Klasse und alle davon abgeleiteten Klassen können diese Objekte sehen }
  public
    { Öffentliche Objekte können überall da gesehen werden, wo die Klasse verwendet wird }
  published
    { Hat die gleiche Sichtbarkeit wie public. Elemente die published sind werden auch im Objektinspektor angezeigt }
  end;

From the Free Pascal wiki, page "Class/de", as it stood on 2020-02-10 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.