السلام عليكم ورحمة الله تعالى وبركاته
نص المشكلة :
قمت بإنشاء 3 class كما يلي :
1- class A
2- class B ترث من class A
3- class C ترث من class B
وكل وحدة تحتوي على المنهاج GetInfo خاصة بها, كما هو موضح في الكود التالي :
الإشكالية : في المنهاج create الخاص بال class C اردت إستدعاء المنهاج GetInfo الخاص بال class A
إستعملت الكود التالي, لكن ينفذ GetInfo الخاص بـ class B
قمت بالتلاعب وستعملت هذا الكود لكن يظهر خطأ
فكيف السبيل لفعل هذا؟؟
نص المشكلة :
قمت بإنشاء 3 class كما يلي :
1- class A
2- class B ترث من class A
3- class C ترث من class B
وكل وحدة تحتوي على المنهاج GetInfo خاصة بها, كما هو موضح في الكود التالي :
كود :
unit uClass;
interface
uses Vcl.dialogs;
type
TClassA = class(TObject)
public
procedure GetInfo;
end;
TClassB = class(TClassA)
public
procedure GetInfo;
end;
TClassC = class(TClassB)
public
constructor Create;
procedure GetInfo;
end;
implementation
{ TClassC }
constructor TClassC.Create;
begin
inherited GetInfo;
end;
procedure TClassC.GetInfo;
begin
ShowMessage('GetInfo for Class C');
end;
{ TClassB }
procedure TClassB.GetInfo;
begin
ShowMessage('GetInfo for Class B');
end;
{ TClassA }
procedure TClassA.GetInfo;
begin
ShowMessage('GetInfo for Class A');
end;
end.الإشكالية : في المنهاج create الخاص بال class C اردت إستدعاء المنهاج GetInfo الخاص بال class A
إستعملت الكود التالي, لكن ينفذ GetInfo الخاص بـ class B
كود :
constructor TClassC.Create;كود :
beginكود :
inherited GetInfo;كود :
end;قمت بالتلاعب وستعملت هذا الكود لكن يظهر خطأ
كود :
constructor TClassC.Create;
begin
inherited inherited GetInfo;
end;فكيف السبيل لفعل هذا؟؟

