1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150
|
type
TC1 = class
public
procedure non; overload; virtual;
function oui: integer;
procedure PeutEtre; virtual;
constructor create;
destructor destroy;
end;
{ visibilité :
Non duplicable/surchargeable
Oui
PeutEtre surchargeable
Create
Destroy
}
TC2 = class(TC1)
public
procedure non(test :string); overload; virtual;
function oui: integer;
procedure PeutEtre(test: integer); reintroduce; virtual;
constructor create;
destructor destroy;
end;
{ visibilité :
Non héritée/duplicable
Non(Test: string) nouvelle/duplicable/surchargeable
Oui nouvelle
PeutEtre(Test: string) reintroduite/surchargeable
Create nouvelle
Destroy nouvelle
}
TC3 = class(TC2)
public
procedure Non; override;
procedure Non(test: string); override;
procedure Non(test: integer); overload; virtual;
function oui: integer;
procedure PeutEtre(test: integer); override;
constructor create;
destructor destroy;
end;
{ visibilité :
Non héritée/surchargée
Non(Test: string) héritée/surchargée
Non(Test: integer) nouvelle/duplicable/surchargeable
Oui nouvelle
PeutEtre(Test: string) héritée/surchargée
Create nouvelle
Destroy nouvelle
}
{ TC1 }
constructor TC1.create;
begin
//
end;
destructor TC1.destroy;
begin
//
end;
procedure TC1.non;
begin
MessageDlg('Ha', mtInformation, [mbOk], 0);
end;
function TC1.oui: integer;
begin
result := 0;
end;
procedure TC1.PeutEtre;
begin
//
end;
{ TC2 }
constructor TC2.create;
begin
//
end;
destructor TC2.destroy;
begin
//
end;
procedure TC2.non(test: string);
begin
non;
MessageDlg(Test, mtWarning, [mbOk], 0);
end;
function TC2.oui: integer;
begin
result := 1;
end;
procedure TC2.PeutEtre(Test: integer);
begin
inherited PeutEtre;
end;
{ TC3 }
constructor TC3.create;
begin
end;
destructor TC3.destroy;
begin
end;
procedure TC3.Non(test: integer);
begin
end;
procedure TC3.Non;
begin
inherited Non;
end;
procedure TC3.Non(test: string);
begin
inherited Non(Test);
end;
function TC3.oui: integer;
begin
end;
procedure TC3.PeutEtre(test: integer);
begin
inherited PeutEtre(test);
end; |
Partager