Thema: Delphi Hilfe mit Textadventure

Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#8

AW: Hilfe mit Textadventure

  Alt 8. Jan 2015, 20:03
Also schauen wir uns mal das vom Arbeitsblatt an
Delphi-Quellcode:
constructor TFruit.Create(name: string);
begin
  // And save the fruit name
  self.name := name;
end;
und das was du daraus gemacht hast
Delphi-Quellcode:
constructor TFruit.Create(name: string);
begin
  // And save the fruit name
  self.Fname := Fname;
end;
Was fällt uns auf? Eben, denn richtig wäre
Delphi-Quellcode:
constructor TFruit.Create(name: string);
begin
  // And save the fruit name
  self.Fname := name;
end;
denn
Delphi-Quellcode:
constructor TFruit.Create( {Argument} name: string);
begin
  // And save the fruit name
  self.name := {Argument} name;
end;
Es hat einfach damit zu tun, dass der Compiler sich hier entscheiden muss, worauf sich name denn nun bezieht. Auf ein Element der Klasse oder eben das Argument. Da das Argument der Methode in der Methode aber näher ist als die Klasse, bezieht sich name auf das Argument. Um auf die Klassen-Variable zuzugreifen muss man den Scope mit angeben durch self.name .
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat