C cAkk Unregistered / Unconfirmed GUEST, unregistred user! 1999-12-04 #3 "系统默认"? 函数名字create的确是系统规定了的.
C cAkk Unregistered / Unconfirmed GUEST, unregistred user! 1999-12-04 #5 >>>构造函数的函数名字可任意取不一定用create ?????????????
Z ZRY Unregistered / Unconfirmed GUEST, unregistred user! 1999-12-04 #7 Liu JZX is right. "A class can have more than one constructor, but most have only one. It is conventional to call the constructor Create." -- from Delph helpdo cument
Liu JZX is right. "A class can have more than one constructor, but most have only one. It is conventional to call the constructor Create." -- from Delph helpdo cument
H Hexi Unregistered / Unconfirmed GUEST, unregistred user! 1999-12-04 #8 构造函数可以任意取名,但VCL控件的构造函数一般是Create,因为有时控件实例创建 是将是调用Create,例如TLabel, TForm等。 但我们可以自己定义构造函数名。 例如 TMyClass=class ... constructor MyCreate; end; var Mc:TMyClass; Mc:=TMyClass.MyCreate;//创建实例 而且在自定义的构造过程中可以调用Create因为Delphi所有的类的缺省祖先都为 TObject而TObject的构造函数为Create; constructor TMyClass.MyCreate; begin inherited Create; .... end;
构造函数可以任意取名,但VCL控件的构造函数一般是Create,因为有时控件实例创建 是将是调用Create,例如TLabel, TForm等。 但我们可以自己定义构造函数名。 例如 TMyClass=class ... constructor MyCreate; end; var Mc:TMyClass; Mc:=TMyClass.MyCreate;//创建实例 而且在自定义的构造过程中可以调用Create因为Delphi所有的类的缺省祖先都为 TObject而TObject的构造函数为Create; constructor TMyClass.MyCreate; begin inherited Create; .... end;
H Hexi Unregistered / Unconfirmed GUEST, unregistred user! 1999-12-04 #9 Delphi为了兼容以前Dos下的Turbo Pascal5..6, Borland Pascal 7.0,仍然 提供了Object关键字。我们可以这样定义对象他将不继承于TObject TMyObject=Object//原始祖先 .... end; TMyObject2=Object(TMyObject) ... end;
Delphi为了兼容以前Dos下的Turbo Pascal5..6, Borland Pascal 7.0,仍然 提供了Object关键字。我们可以这样定义对象他将不继承于TObject TMyObject=Object//原始祖先 .... end; TMyObject2=Object(TMyObject) ... end;
蚯 蚯蚓 Unregistered / Unconfirmed GUEST, unregistred user! 1999-12-04 #11 cAkk: 你连这个都不明白?? 构造函数Create是从最高基类TObject继承来的, //system.pas constructor TObject.Create; begin end; 实际什么都没干! 我们也可以自己定义构造函数, 比如定义一个类: type TcAkk=class(TSomething) constructor CreateFromStream(Stream:TStream); end; constrcutor TcAkk.CreateFromStream(Stream:TStream); begin Inherited Create; LoadFromStream(Stream); end;
cAkk: 你连这个都不明白?? 构造函数Create是从最高基类TObject继承来的, //system.pas constructor TObject.Create; begin end; 实际什么都没干! 我们也可以自己定义构造函数, 比如定义一个类: type TcAkk=class(TSomething) constructor CreateFromStream(Stream:TStream); end; constrcutor TcAkk.CreateFromStream(Stream:TStream); begin Inherited Create; LoadFromStream(Stream); end;
C cAkk Unregistered / Unconfirmed GUEST, unregistred user! 1999-12-04 #12 我不明白的多着哪! 从来没注意这方面,因为C++是不能用别的名字的构造函数的, 我还以为delphi也是只能使用Create这个名字哪! 哎! 以后我还怎么见人啊! :-(
J Jams Unregistered / Unconfirmed GUEST, unregistred user! 1999-12-04 #13 在Turbo Pascal 的OOP中,用户得自行解决构造与析构函数的问题。 有了Delphi的VCL, 这一步就略去了,以后的内容同Hexi、蚯蚓等的方法。
阿 阿蒙 Unregistered / Unconfirmed GUEST, unregistred user! 1999-12-04 #14 蚯蚓兄满厉害的吗!! create 是从最高层的 tobject 继承来的。最好还是用默认的
J jlg Unregistered / Unconfirmed GUEST, unregistred user! 1999-12-04 #15 构造函数名是不是Create从技术上讲真的是无所谓,判断一个函数是不是构造函数只是从函数声明中是否有constructor关键字来判断的。不过为了他人使用的方便,一般将构造函数命名为Create。 构造函数的写法一般为: Constructor 函数名(参数); begin inherited Create; //或其它名的构造函数 ... end;
构造函数名是不是Create从技术上讲真的是无所谓,判断一个函数是不是构造函数只是从函数声明中是否有constructor关键字来判断的。不过为了他人使用的方便,一般将构造函数命名为Create。 构造函数的写法一般为: Constructor 函数名(参数); begin inherited Create; //或其它名的构造函数 ... end;
蚯 蚯蚓 Unregistered / Unconfirmed GUEST, unregistred user! 1999-12-04 #16 蚯蚓同志是从Turbo Pascal开始玩的哦! 那时候Borland作了一个叫Turbo Vision的东西 DOS时代文本模式下的仿Win界面的类库 玩过Borland C++ fordo S或Turbo Pascal 6.0/7.0的弟兄应该知道, 如果不知道,回忆一下这些东西的IDE,就是用Turbo Vision写的 很完整的一个对象库哦! 按纽、输入框、菜单、窗口、Application类、状态栏等等等等 甚至连MDI都有耶!! 后来有了Turbo Pascal for win 那里的OWL,简直就和TV一模一样,代码大概直接可以拿来用 但是这套东西不是RAD的,用起来很麻烦, 所有的Windows窗口的位置、风格一切的一起都要自己写代码搞定 这种方式写写DOS下的小东西还勉强忍受, 到了win平台下就不行了, 于是再后来有了VB Killer,我们心爱的Delphi 有了属性(property),这个天才的思想 说老实话,我在OOP方面的启蒙就是从Turbo Vision这里开始的 从此对Borland五体投地....
蚯蚓同志是从Turbo Pascal开始玩的哦! 那时候Borland作了一个叫Turbo Vision的东西 DOS时代文本模式下的仿Win界面的类库 玩过Borland C++ fordo S或Turbo Pascal 6.0/7.0的弟兄应该知道, 如果不知道,回忆一下这些东西的IDE,就是用Turbo Vision写的 很完整的一个对象库哦! 按纽、输入框、菜单、窗口、Application类、状态栏等等等等 甚至连MDI都有耶!! 后来有了Turbo Pascal for win 那里的OWL,简直就和TV一模一样,代码大概直接可以拿来用 但是这套东西不是RAD的,用起来很麻烦, 所有的Windows窗口的位置、风格一切的一起都要自己写代码搞定 这种方式写写DOS下的小东西还勉强忍受, 到了win平台下就不行了, 于是再后来有了VB Killer,我们心爱的Delphi 有了属性(property),这个天才的思想 说老实话,我在OOP方面的启蒙就是从Turbo Vision这里开始的 从此对Borland五体投地....
C cAkk Unregistered / Unconfirmed GUEST, unregistred user! 1999-12-04 #17 嘿嘿,其实Turbo Vision我也用过,不过很少.确实不错,很漂亮. 大家知道最早以前VB1.0也有DOS版本的,整个一套DOS下的对象库,写DOS程序 到是挺方便,但是做出来的界面,一个字: 屎!
嘿嘿,其实Turbo Vision我也用过,不过很少.确实不错,很漂亮. 大家知道最早以前VB1.0也有DOS版本的,整个一套DOS下的对象库,写DOS程序 到是挺方便,但是做出来的界面,一个字: 屎!
H Hexi Unregistered / Unconfirmed GUEST, unregistred user! 1999-12-05 #18 我也用Turbo Vision玩了几个东西。我真正接触面向对象也就是从它开始的。
S SuperMMX Unregistered / Unconfirmed GUEST, unregistred user! 1999-12-10 #19 关键是要有 constructor destructor,