Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   set-und get Methode (https://www.delphipraxis.net/166004-set-und-get-methode.html)

hotkey 25. Jan 2012 16:41

set-und get Methode
 
Hallo ,
ich suche eine Erklärung und auch Beispiele für die Set-und Get -Methode.

Ich kapiere das noch nicht so richtig und deswegen hapert es bei der Anwendung.

Set ist ja dafür da , um Werte festzulegen und get diese dann aufzurufen.

Könnte mir jemand ein kleines aber aussagekräftiges Beispiel posten , wäre echt nett , denn ich muss das verstehen.

Das ist das A und O in der OOP(brauche ich fürs Abi).


Danke schon im Voraus.

DeddyH 25. Jan 2012 16:51

AW: set-und get Methode
 
Delphi-Quellcode:
type
  TWuppdi = class
  private
    FEigenschaft: string;
    function GetEigenschaft: string;
    procedure SetEigenschaft(const Value: string);
  public
    property Eigenschaft: string read GetEigenschaft write SetEigenschaft;
  end;

function TWuppdi.GetEigenschaft: string;
begin
  Result := FEigenschaft;
end;

procedure TWuppdi.SetEigenschaft(const Value: string);
begin
  FEigenschaft := Value;
end;

hotkey 25. Jan 2012 16:58

AW: set-und get Methode
 
Danke für das Beispiel ,werde aber irgendwie daraus nicht schlauer. :(

Zumal wir diese write const value Sachen noch garnicht behandelt hatten.:(

p80286 25. Jan 2012 17:05

AW: set-und get Methode
 
Was Detlef Dir unterschlagen hat wäre z.B.

Delphi-Quellcode:
procedure TWuppdi.SetEigenschaft(const Value: string);
begin
  if (length(value)>3) and (length(value)<15) then
  FEigenschaft := Value;
end;
Es werden Werte nicht blind übernommen, sondern es ist möglich diese zu prüfen und oder zu modifizieren.

Und bei einer Vererbung kannst Du die SET-Methode überschreiben.

Gruß
K-H

P.S.
Zitat:

Zumal wir diese write const value Sachen noch garnicht behandelt hatten
Const bedeutet, daß dieser Wert innerhalb derRoutine nicht geändert werden kann, und value ist nur ein Variablenname, da könnte auch "Eingabewert" stehen, resp. "KonstanterEingabewert"

hotkey 25. Jan 2012 17:10

AW: set-und get Methode
 
Wie ist das zum Beispiel , wenn ich ne Variable als Integer habe z.B Zahl1 : Integer
Zahl1 := 5; // Zahl gehört dann zu einer Klasse und dann will ich dass diese Zahl als Showmessage angezeigt wird , dafür brauche ja die get Function , an sich verstehe ich es ja , aber wie setzt man das nun um ?

p80286 25. Jan 2012 17:18

AW: set-und get Methode
 
Delphi-Quellcode:
showmessage(wuppdi.Eigenschaft);
mehr nicht (es ist doch wohl klar, daß Wuppdi.Create... zuerst erfolgen muß??)

Gruß
K-H

hotkey 25. Jan 2012 17:20

AW: set-und get Methode
 
Ja das ist mir klar , den Konstruktor-Aufruf kenne ich , zuvor muss man eine Instanz erzeugen.

Vielen Dank für das Beispiel , ist mir jetzt klarer geworden , war ja doch nciht so schwer :D

DeddyH 25. Jan 2012 17:26

AW: set-und get Methode
 
Wobei noch zu sagen ist, dass der Getter nicht zwangsläufig einfach den Wert eines privaten Feldes zurückgeben muss, das kann auch das Ergebnis einer Berechnung oder so etwas sein. Und der Setter kann neben Gültigkeitsprüfungen auch noch andere Dinge anstoßen (Neuzeichnen ist z.B. so ein Kandidat).


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