![]() |
||
| Material |
OOP
Grundlagen
Delphi
Software-Technik
Bonsai
Digitaltechnik
Ereignisse
Grafik
UML
Netze
Fischertechnik
Tipps
Werkzeuge
Literatur
Automaten
Sprachen
Datenbanken
XML
Prolog
Berechenbarkeit
|
|
|
![]() |
An dem UML-Klassendiagramm sieht man, dass die Methode wuerfele dreimal auftaucht. |
![]() |
In einem kleinen Programm (vererbung3.zip ) sollen nun die verschiedenen Fälle, zwischen den Methoden zu unterscheiden, untersucht werden. |
.......
type
TW = class(tObject)
private
FZahl : integer;
public
procedure SetZahl(a : integer);
function GetZahl : integer;
procedure wuerfele;
end;
TW4 = class(TW)
public
procedure wuerfele;
end;
TW6 = class(TW)
public
procedure wuerfele;
end;
.......
implementation
........
procedure TW.wuerfele;
begin
setZahl(0);
end;
procedure TW4.wuerfele;
begin
setZahl(Random(4)+1);
end;
procedure TW6.wuerfele;
begin
setZahl(Random(6)+1);
end;
|
.......
type
TW = class(tObject)
private
FZahl : integer;
public
procedure SetZahl(a : integer);
function GetZahl : integer;
procedure wuerfele; virtual; // legt VMT an
end;
TW4 = class(TW)
public
procedure wuerfele; override; // bewirkt Eintrag in VMT
end;
TW6 = class(TW)
public
procedure wuerfele; override; // bewirkt Eintrag in VMT
end;
|
| Typ | Adresse der wuerfele-Methode |
| TW | wuerfele1 |
| Typ | Adresse der wuerfele-Methode |
| TW | wuerfele1 |
| TW4 | wuerfele2 |
| TW6 | wuerfele3 |
type
TW = class(tObject)
private
FZahl : integer;
public
procedure SetZahl(a : integer);
function GetZahl : integer;
procedure wuerfele; virtual; abstract; // legt nur VMT an
end;
|