delphi inherited 函数跟继承类重写的区别

 我来答
匿名用户
2013-08-27
展开全部
TComponent:因封装了设计期的一些信息而使得可以在设计时使用,当然要在设计时使用还必须注册到Delphi的IDE控件面板,所以TComponent是所有可以放在控件面板上的类的基类。实现了IInterface, IInterfaceComponentReference接口。TControl:顾名思义,这才是真正的Delphi的"控件"。我们常说的Delphi控件应该就是从它来继承,它是所有可视类的基类,可以在运行时看见。它封装了几封了所有的鼠标消息和部份界面的消息、外壳消息。另外最重要的是它填充装了所有的消息分发。TWinControl:当然它就是窗口控件,对应着VC里的窗口类(我不太懂VC),也是在Windows中的具有唯一标识Handle的类,所有容器类和可获得焦点的类都是从它上面继承。作为窗口控件,它当然封装了所有的窗口消息,比如键盘消息。TGraphicControl:从TControl上继承下来,没有窗口句柄,但是增加了画布Canvas,通过Canvas封装了主要的图形绘制API函数。TCustomControl:类似于TGraphicControl,不过它是从TWinControl继承下来的,有了窗口句柄.它和TGraphicControl一样,只处理了WM_PAINT消息。2.ComponentState属性的用途用于判断TComponent继承下来的类的状态,比如是否是设计期或者装载期等等。3.如果有一个属性为指向另一个类的实例(如TDataSource的Dataset属性), 要注意的事项我想最重要应该是在写接品方法中调用另一个类实例的FreeNotification方法,经以便在另一个类实例析构的时候清空本类实例的相关属性(将相关成员字段设为nil)。4.property宣告的具体心得及注意事项、Keyword Default及Stored的意义这方面的东东其实主要看个人喜好,我的感觉在宣告一个属性时应尽可能避免这个属性可以不能过写接口而改写,那样可能为这个属性改变量所作的努力将不起作用,比如动态数组类型的属性:最好不要声时动态数组类型的属性,因为在Delphi中动态数组类型的数组其实和指针差不多,它可以直接操作这个属性而不会调用写接口,除非你用赋值符号为动态数组赋值(这在Delphi中应尽量避免使用),如果确实有动态数组类型的属性,可以通过定义属性下标来将其转换成简单类型或复合类型的属性而一些类属性,一般在写接口中需要使用Assign方法来赋值,比如大多数可视控件的Font属性,或部份控件的TPicture类型属性,而且这样的属性因为本身有Assign方法,可能不会使用赋值运算为其赋值(在Delphi中应尽量避免使用赋值运算对类实例赋值,除非真的是要两个实例变量指向同一个实例),所有一般不仅需要处理写接品,还需要给这个属性所对应的成员字段定义OnChange事件。至于Default指示,不用看楼上也具定说得很多,关键是要注意,它并不对属性对应的私有成员初始化,如果需要初始化,则需要在构造函数中进行。它仅仅用来指示属性是否需要被流化以保存在dfm文件中,编译以资源的形式进入EXE,可以有效的减小EXE文件的容量,并提示程序加载速度。Stored指示的作用与Default指示字相仿,不过Default只是指定一个值,如果属性值在设计期间与这个值相同,就不流化,而且Default只支持有限的几种简单定长类型数据。而Stored而可以通过一个Boolean函数来检查设计期间的属性值是否需要流化,这个函数可以非常复杂。5.TControl与TWinControl的差异TControl的和TWinControl其实在上面已经比较清楚了,主要就是一一个是父类,一个是子类,TWinControl比TControl增加了Handle和相关的方法和属性,以用相应的消息处理函数,最主要的是,除是多了句柄之外,因为可以获得焦点,所以多了键盘相关的消息和方法。6.TWinControl中如何封装Windows窗体(或者说, Windows的消息通知(message call), 经过了什么过程, 成为Delphi的Method Call) ? Windows的消息处理机制?或者另一个问法, 在一个Control中, 要处理消
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式