Autor Beitrag
Allesquarks
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 510

Win XP Prof
Delphi 7 E
BeitragVerfasst: Di 20.03.07 14:00 
Kan man eine Variable oder sonstewas nach der Vererbung präzisieren, aber ohne sie neu einzuführen das soll schon die gleiche bleiben etwa so:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
TMyclass1 = class
   feld:array of integer;
end;

TMyclass2 = class (TMyclass1)
   feld:array [1..2of integer;
end;


Ein Zugriff mittels:
ausblenden Delphi-Quelltext
1:
2:
class2var.feld[1]:=3;
a:=TMyclass1(class2var).feld[1];//soll dann natürlich die 3 liefern
Jakob Schöttl
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 929
Erhaltene Danke: 1


Delphi 7 Professional
BeitragVerfasst: Di 20.03.07 16:41 
Also Methoden kann man als virtual; abstract; (glaub ich) deklarieren, das bedeutet, dass sie erst in den Nachfolger-Klassen implementiert werden, aber bei Variablen geht das nicht, so viel ich weiß.
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Di 20.03.07 17:11 
Das wär mein Ansatz.

Nimm eine Indexed Property und mach den Getter virtual.
Sieht nach draußen aus wie ein Array du kannst aber die Implementierung im Nachfahren ändern.

Gruß
Ralf