Type
TMyObj = Class
Private
Fa:String;
Public
Class Function AAA:String;
Function BBB:String;
End;Class Function AAA:String;
Begin
Result:=Fa; //为什么不能访问Private中的成员?
End;
//加关键字Class有什么作用?AAA与BBB有什么区别Function :String;
Begin
showmessage('123')
End;
2:Type
TMyObj = Class
Private
Fa:String;
End;Type
TObj = Class(TMyObj)
End;//调用
Obj_1 TMyObj;
Obj_2 TObj;Obj_2.Fa; //为什么可以通过?
解决方案 »
- image1载入大图片时如果stretch=true,image1会显示出大图片的缩图,那么如何将这个缩图镜像复制一份赋值给另一个image2的picture呢?
- 存储过程的调用必给分(高分)
- 如何快速从文本文件中取得第N行的数据-----急,在线等待!!!
- 简单问题
- Borland Delphi 6 中文企业版哪里有免费下载????????????????????500分
- 在MDI程序中,于TMDIChildForm上放置DHTMLEdit控件,新建多个子窗口,对其中任一窗口进行保存后,在关闭此窗口时便会弹出类似"Access violati
- 用delphi写asp组件的问题。来者有分!急!急!急!急!急!
- !!!如何实现两个不同网页之间的ACTIVEFORM之间的通讯!!!给点思路也好!!:)
- pagecontrol中tabsheet如何让其空间达到最大?
- 系统时间的设定,急急急!!!!
- 数据库恢复问题
- 菜单调用问题!!!!给分50!
Begin
Result:=Fa; //为什么不能访问Private中的成员?
End;Obj_2.Fa; //为什么可以通过?
是因为他们在同一个单元中,同一个单元中的类类似c++中友类,是可以访问私有变量的。但是最好还是定义成protected
Begin
Result:=Fa; //为什么不能访问Private中的成员?
End;Obj_2.Fa; //为什么可以通过?
是因为他们在同一个单元中,同一个单元中的类类似c++中友类,是可以访问私有变量的。但是最好还是定义成protected
这样声明是类方法,不需要实例就能使用,如直接
TMyObj.aaa
其余同意楼上的,
是Class Function TMyObj.AAA:String;
Class Function AAA:String;
是类方法,作用于类本身,与类的实例没有关系
对于同一单元,不管是不是具有继承关系,好像是都可以访问类的私有声明,只有位于不同单元的时候,才不允许这样使用。
是不是效率上的?
2。哦,明白了。同一单元是默认的友员。