深入类中的方法[9] - 不能被覆盖的方法与不能被继承的类
{
抽象类是一定要被继承才可以使用的; 抽象方法是一定要被覆盖才可以使用的.
现在说的是不能被覆盖的方法, 与不能被继承的类.
}
//譬如:
TA = class
procedure Proc; virtual; {TA 中的虚方法, 将要被覆盖}
end;
TB = class(TA)
procedure Proc; override; { 覆盖}
end;
TC = class(TB)
procedure Proc; override; { 再次覆盖}
end;
//假如要设定 TB.Proc 为最终方法, 不允许再覆盖了, 需要 final 指示字.
TA = class
procedure Proc; virtual; {TA 中的虚方法, 将要被覆盖}
end;
TB = class(TA)
procedure Proc; override; final; { 最终覆盖}
end;
TC = class(TB)
//procedure Proc; override; { 再覆盖不行了}
end;
//用 class sealed 是不能被继承的
TMyClass = class sealed(TObject)
//...
end;