现在的位置: 首页 > 综合 > 正文

理解 Delphi 的类(十一) – 深入类中的方法[9] – 不能被覆盖的方法与不能被继承的类

2011年02月11日 ⁄ 综合 ⁄ 共 449字 ⁄ 字号 评论关闭
{
   抽象类是一定要被继承才可以使用的; 抽象方法是一定要被覆盖才可以使用的.
   现在说的是不能被覆盖的方法, 与不能被继承的类.
}

//譬如:
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;

抱歉!评论已关闭.