![]() |
Variable an der Klasse ansprechen
Hallo miteinander,
habe eine raltiv simple Frage. Folgender Code:
Delphi-Quellcode:
Wie das geübte Auge vielleicht sieht, funktioniert die Variablenübergabe im Konstruktor nicht.
type
TBruch = class constructor Create(iZaehler, iNenner: Integer); overload; strict private iZaehler, iNenner: Integer; function ggT(iZahl1, iZahl2: Integer): Integer; procedure Kuerzen(); public function getZaehler(): Integer; function getNenner(): Integer; procedure setValue(iZaehlerSet, iNennerSet: Integer); procedure Add(TB_addBruch: TBruch); procedure Subtract(TB_subtBruch: TBruch); procedure Multiplicate(TB_multBruch: TBruch); procedure Divide(TB_divBruch: TBruch); end; implementation constructor TBruch.Create(iZaehler, iNenner: Integer); begin inherited Create; iZaehler:= iZaehler; iNenner:= iNenner; end; Meine Frage ist nun, wie kann ich die iZaehler unterscheiden? Also das übergebene und das, das am Objekt hängt. Ich wüsste es in Java, da müsste man this.iZaehler:= iZaehler; schreiben. Wie geht das in Delphi? Bitte nicht den Tipp "Änder doch einfach die Namen.". (Habe ich schon in der Procedure setValue, aber die Lösung gefällt mir nicht.) |
Re: Variable an der Klasse ansprechen
Delphi-Quellcode:
Edit: habe nochmal genau gelesen.
constructor TBruch.Create(iZaehler, iNenner: Integer);
begin inherited Create; self.iZaehler:= iZaehler; self.iNenner:= iNenner; end; Edit2: Der Konstruktor gehört auch in den Public-Bereich. Gruss Thorsten |
Re: Variable an der Klasse ansprechen
Tip:
Delphi-Quellcode:
und wenn es sein muss, auch so...
constructor TBruch.Create(aZaehler, aNenner: Integer);
begin inherited Create; iZaehler:= aZaehler; iNenner:= aNenner; end;
Delphi-Quellcode:
constructor TBruch.Create(iZaehler, iNenner: Integer);
begin inherited Create; self.iZaehler:= iZaehler; self.iNenner:= iNenner; end; |
Re: Variable an der Klasse ansprechen
Wow das geht ja wirklich fix hier, danke. :thumb:
Noch eine Frage zum aZaehler. Mein i soll ja ein Integer darstelln. Wie kommt man auf a? Standard bei Übergabewerten? (Ich frage weil ich mein Code halbwegs "schön" bzw. "richtig" gestalten will.) |
Re: Variable an der Klasse ansprechen
Ja, das "A" ist der Standard in der VCL.
|
Re: Variable an der Klasse ansprechen
Alles klar, dann änder ich die Namen halt doch. :mrgreen:
Nochmals danke. :roll: |
Re: Variable an der Klasse ansprechen
Schau auch mal
![]() |
Re: Variable an der Klasse ansprechen
Zitat:
|
Re: Variable an der Klasse ansprechen
Moin Alfi,
das A wird, üblicher Weise, als Präfix bei Parametern verwendet, und steht für Argument. (Das P ist ja schon durch Pointer belegt). |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:50 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz