(5)Me根本不懂OOP,所以继续读《技术内幕》:P128(30分)

  • 主题发起人 主题发起人 千中元
  • 开始时间 开始时间

千中元

Unregistered / Unconfirmed
GUEST, unregistred user!
1)TQueryThread=class(Thread)
.....
2)protected
3) procedure execute
override
4) public
constructor create(Session:Tsession
query:Tquery

Datasouce:Tdatasource)
virtual;
.....
5) constructor TqueryThread.Create(Session:Tssesion
Query:Tquery
Datasource:tdatasource);
6) begin
7) inherited create(true)
.......
8) resume;
问题1: 请看第一行:Class(Tthread)
Tthread 从”哪里”来的?
2:请看第二行:protected 的作用? 为什么这里要protected?
3: 请看第三行:override,重载父类的方法。Thread的父类是什么?
有 Ececute方法?
4: 请看第五行下: constructor 是个什么概念?什么时候使用?
后面加上virtual什么作用?
5 请看第七行:create(true)起什么作用?
6: 请看第8行:rusume;简历?@#$%^
因为要速成!不然以后没机会了:(,加上E文有差,只能请大家直接指点了。





 
帮不了忙(不懂的干活)
帮你提提前也好
 
给千中元灌水

1.TThread是由Tobject直接继承来的
2.被protected的成员或方法,可被派生对象访问,对其他则跟private一样
3.override是TQueryThread重载父类TThread的Ececute方法
TThread的父类是Tobject,没有Ececute方法,但TThread有啊
4.constructor的方法是由类名来调用,而不是由实例调用。Create方法一般是constructor
如:Form1:=TForm1.Create(AOwner) 而不是Form1.Create(AOwner)
方法的默认类型是static,执行速度最快,但不能重载;virtual和dynatic方
都可以重载,virtual执行速度比dynatic快,但占用内存要多
5.TThread的Create方法有这么一个形参;当为false时,立即执行Ececute,为true
时,则要等到resume才执行Ececute
6.resume在这里应该是继续的意思,找工作找的得简历病了?
 
建议看看OOP的书

1.TThread是系统已定义的。
2.protected的作用与private相似。只是在protected中定义的域在本类中是共有
的,在其子类中自动转化为私有。
3.TQueryThread的父类是TThread。父类有没有方法可以看它的原码。在这里加上
了override说明父类有此同名方法。
4.constructor是类的构造函数声明保留字。所声明出的方法是此类的构造函数。
构造函数用来创建该类实例时所执行的方法。加上virtual说明该方法是虚拟方
法,可以被子类重载。
5.inherited Create(True)是自动执行父类的构造函数,True参数是根据父类构
造函数实现方法而定的,你可以看父类的构造函数声明。
 
哇!Kang兄比俺快一步 :/
 
ft,又来晚了。
delphi/source下有一切源码!
最基本从windows.pas,system.pas...等一层一层看起。
 
to chenlili
老千好累啊!
 
口述人又多了。
 
后退
顶部