关于怎么实现类中多态的有关问题
关于如何实现类中多态的问题
在父类中定义一个方法,只有声明没有定义.具体的实现在子类中实现,即C++/JAVA里的virtual
这个在pascal语言里怎么实现?
比如
type parents = class(TObject)
public
function f:boolean;virtual; {这样写的话会出现unsatisfied forward or external declarations in parents}
end;
type de1 = class (parents)
public
function f:boolean;override;
end;
type de2 + class (parents)
public
function f:boolean;override;
end;
{在方法的定义部分只有子类的f定义,没有父类的定义}
function de2.f:boolean;
begin
end;
function de1.f:boolean;
begin
end;
{请求高人解答)}
------解决方案--------------------
加上 abstract;
在父类中定义一个方法,只有声明没有定义.具体的实现在子类中实现,即C++/JAVA里的virtual
这个在pascal语言里怎么实现?
比如
type parents = class(TObject)
public
function f:boolean;virtual; {这样写的话会出现unsatisfied forward or external declarations in parents}
end;
type de1 = class (parents)
public
function f:boolean;override;
end;
type de2 + class (parents)
public
function f:boolean;override;
end;
{在方法的定义部分只有子类的f定义,没有父类的定义}
function de2.f:boolean;
begin
end;
function de1.f:boolean;
begin
end;
{请求高人解答)}
------解决方案--------------------
加上 abstract;