Object Pascal 语言中的方法与属性详解
1. 方法绑定
在 Object Pascal 语言里,方法可以分为静态(默认)、虚拟和动态这几种类型。虚拟和动态方法能够被重写,并且还可以是抽象的。当一个类类型的变量持有派生类类型的值时,这些指定类型就会发挥作用,它们会决定调用方法时激活哪个实现。
1.1 静态方法
方法默认是静态的。调用静态方法时,方法调用中使用的类或对象变量的声明(编译时)类型会决定激活哪个实现。下面是一个示例:
type
TFigure = class
procedure Draw;
end;
TRectangle = class(TFigure)
procedure Draw;
end;
var
Figure: TFigure;
Rectangle: TRectangle;
begin
Figure := TFigure.Create;
Figure.Draw; // 调用 TFigure.Draw
Figure.Destroy;
Figure := TRectangle.Create;
Figure.Draw; // 调用 TFigure.Draw
TRectangle(Figure).Draw; // 调用 TRectangle.Draw
Figure.Destroy;
Rectangle := TRectangle.Create;
Rectangle.Draw; // 调用 TRectangle.Draw
Rectangle.Destroy;
end;
超级会员免费看
订阅专栏 解锁全文
279

被折叠的 条评论
为什么被折叠?



