有问题,顺便发点分。(300分)

W

wlmmlw

Unregistered / Unconfirmed
GUEST, unregistred user!
TMyObject = class
end;
等同于
TMyObject = class(TObject)
end;
的原因?
大家说说,言者有分。
 
[:D][:D]混分
 
因为默认是从TObject类继承的,你没有指定,所以就是从TObject继承啦
 
在Object Pascal 中所有的对象都是TObject对象的后代,而不管他们是否是这样声明的。
因此下面的声明:
TMyObject = class
end;
等同于
TMyObject = class(TObject)
end;

------原文引自《Delphi5开发人员指南》

接分先!
 

TObject 本来就是基类呀,所以可以简写为
type
TMyObject=class

这同
type
TMyInterface=interface
是一样的呀.
 
默认就是TObject继承来的.所以不指定的话就是从TObject继承来的.
如果想要凭空建立新的类那么

TMyObject = Object
end;


 
TObject在Delphi中是祖先类,这要是类肯定....
 
看一下TObject的帮助:

Use TObject as an immediate base class when declaring simple objects that do not
need to persist (are not saved and reloaded) and that do not to be assigned to
other objects. If no ancestor type is specified when declaring a new object class,
Delphi automatically uses TObject as the ancestor.
 
1.TMyObject = class
2.TMyObject = class(TObject)
Delphi默认1就是2
 
我想问的是这个“默认”的原因!!!
请高手赐教!!!!
 
默认需要理由吗,不需要
默认需要理由吗,不需要
默认需要理由吗,不需要
默认需要理由吗,不需要
那不就结了
 
你看看vcl的结构吧,最上面的是Tobject
也就是说,它是所有的最祖先了,
 
DELPHI的妈妈说为了简化大家敲键盘,就来个默认,想到TObject就用它了,(同理有很多
情况就是这样,如INTERFACE等等……)至于以后用
什么,关住!
 
这不就是散分吗??????
 
楼顶的看来基本的继承还没弄清楚。
 
语法默认是这样子地
 
因为这是默认继承啊
 
因为TObject是Borland的Object Pascal编译器内建,也就是说,不管你愿不愿意
继承,你所有写的类或者是vcl类相关的类都继承他,你无法不继承他!
只要你用Delphi,你就得接受默认的TObject类!他已经是编译器的功能了!
哈哈.....你现在明白Delphi编译的速度为什么这么快了吧!! :)
 
我要说的都被包括了。等着领分吧。
 
默认的继承方式
 
顶部