就这么简单,我们扩展了tpanel,使其具有处理鼠标进入和移开事件的能力,所以vcl并不神秘,任何人都可以重写里面的组件(类),使之成为自己所要的东西。
l delphi支持接口继承,从某种意义上说实现了多重继承,如tcomponent的定义如下:
tcomponent = class(tpersistent, iinterface,
iinterfacecomponentreference)
l 不要拿抽象类创建实例。类中只要有一个方法是抽象方法,那么这个类就是抽象类。如tstrings定义如下:
tstream = class(tobject)
private
…
protected
…
public
function read(var buffer; count: longint): longint; virtual; abstract;
function write(const buffer; count: longint): longint; virtual; abstract;
…
end;
一个方法的定义中只要有abstract关键字就是抽象方法。用抽象类来创建实例没有任何意义,因为read和write并没有实现,如果调用则会出现为例。