zoukankan      html  css  js  c++  java
  • Delphi的类和对象(十二)- (TObject、TPersistent、TComponent、TControl、TWinControl、TCustomControl、TGraphicControl、TInterfacedObject)简单介绍

    TObject:
        VCL中所有类的根类,即是说:VCL中所有的类/组件/控件都是从TObject中继承而来。TObject类中定义了基本的 构造方法和析构方法。

      TPersistent:
        继承于TObject,按字典中的意思是“持久类”(姑且这样叫它吧,因为我一直就是这样叫这个类的-_-|)。该类在VCL中的地位不亚于TObject,VCL中很大一部分类都是继承于这个类的。TPersistent类实现了published域对象的RTTI功能,也就是说:该类以及它的派生类中定义在published中的属性、方法和事件可以显示在Object Inspector窗口中,也可以把属性的值保存到dfm文件中。当然,这些RTTI的特性,都是由编译指令{$M+}指定的。如果是直接从TObject继承的子类,加上这个编译指令,同样有RTTI功能。另外TPersistent还提供了持久类对象实例之间互相Assign的机制,子类可实现它。

      TComponent:
        所有组件的基类,由该类或它的派生类所派生的新类是可以注册到Delphi的组件面板中的。也就是说,当你要开发一个新的组件时,该类将是你所能选择的最基础的类。

      TControl:
        可视组件(一般我们说的控件也就是指TControl类或它的派生类)。

    TControl类的是所有VCL可视化组件的父类。实际上就是控件的意思吧。所谓可视化是指您可以在运行期间看到和操纵的控件。这类控件所具有的一些基本属性和方法都在TControl类中进行定义。 

    TControl的实现在BorlandCBuilder5SourceVclcontrol.pas中可以找到。

      TWinControl:
        标准Windows控件,该类以及派生类都有一个非常重要的属性THandle。也就意味着,继承于这个类或派生类的控件可以接受消息(SendMessage()或PostMessage()发送,当然还有系统发送的)。当然,非可视组件(TComponent的派生类)也有具有THandle属性的。比如说TTimer。

      TCustomControl:
        继承于TWinControl,添加了画布属性Canvas和Paint方法。那么,当我们考虑写一个自绘的并且有句柄的控件的话,考虑用这个类或许可以减少我们很多工作量。

      TGraphicControl:
        自绘控件,从TControl类继承,与TWinControl类不同的是,它没有句柄。

      TInterfacedObject:
        前面说过,这个类应该是我们选择实现接口类的根类,因为它已经为我们实现了IInterface接口中的方法。当然如果你想自己实现IInterface中的方法的话,你也可以选择从TObject类中继承

    转载于:https://www.cnblogs.com/guorongtao/p/11392462.html

  • 相关阅读:
    mybatis常用配置
    初识mybatis(二)
    初识mybatis
    Android开发——Android中的二维码生成与扫描
    [原]openstack-kilo--issue(六):Authorization Failed: The resource could not be found. (HTTP 404)
    [转]正确配置Linux系统ulimit值的方法
    [原]ubuntu14.04 网卡逻辑修改没有文件/etc/udev/rules.d/70-persistent-net.rules
    [转][原]openstack-kilo--issue(六)kilo版openstack的dashboard在session超时后重新登录报错解决办法
    [转]观察进程的内存占用情况
    [转]Linux下权限掩码umask
  • 原文地址:https://www.cnblogs.com/fansizhe/p/12764512.html
Copyright © 2011-2022 走看看