如何声明自定义函数和例程(10)

  • 主题发起人 主题发起人 zqssoft
  • 开始时间 开始时间
Z

zqssoft

Unregistered / Unconfirmed
GUEST, unregistred user!
请问如何声明自定义函数和例程,在private或public部分,为什么不能写成private function Tform1.getx():string;而为什么在实现部分,一定要写成: function Tform1.getx():string;不加Tform1的话,就会不让在private或public部分声明?
 
......建议你去好好学学delphi语法private属于类内部,自然不用加类名前缀啊一个unit内可以声明多个类所以方法的具体实现要家类名前缀,否则编译器怎么知道你这个方法是哪个类的
 
是要看看DELPHI的语法书,其实你也不用输入啊,private function Tform1.getx:string;然后直接按CTRL+SHIFT+C,他就会帮你在实现部分自动生成代码啦。
 
验证了下,发现声明处不管private或public中,均不能写上类名,如TForm1.xxx,但实现处却一定要跟上类名,不跟的话,就不能声明,只能放在前面要调用的代码前面才能调用。unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs;type TForm1 = class(TForm) private function getx:string; public { Public declarations } function gety:string; end;var Form1: TForm1;implementation{$R *.dfm}{ TForm1 }function TForm1.getx: string;beginend;function TForm1.gety: string;beginend;end.
 
.....完全没有语言了
 
建议看下面向对象设计的概念
 
implementation 这个关键词是个分界线,上面的对外(公开),下面的对内(私有).你在implementation 关键词上面窗体类里面 function Tform1.getx():string;加这个Tform1是不对的,因为把父亲和儿子摆在一起了.implementation 关键词下面可以不加Tform1如果不加的话,这个函数里面不能调用窗体上的组件,如果一定要调用组件,就要Tform1.组件,这样子很麻烦,你直接在函数名上Tform1.里面的组件就可以直接写名字了我也不是全懂,只说出了我知道的.
 
后退
顶部