关于类成函数和成员数据的公有私有性问题(20分)

  • 主题发起人 主题发起人 Equations
  • 开始时间 开始时间
E

Equations

Unregistered / Unconfirmed
GUEST, unregistred user!
我现在自定义一个这样的类如下

TTest = class
//位置(1)
FName : string
private

public
//位置(2)
FName : string;
end;
我的问题是把FName定义在这两个不同的位置有什么区别吗?
 
在C++里面如果直接写在类里下没有申请是是哪一种就都属于private的.
Delphi直接写在里下好像是共公的,如果是写在TFORM类下的话还必须要在届面可视啊.
 
有把自定义FName写在private之前的吗?
 
当然是在private之前啊,在申明类之后的下面.
 
从访问级别看应该是没什么区别的.
 
位置(1)时,一般是系统添加方法和属性的地方
位置(2)时,手动添加方法.函数和属性的地方
而Delphi类的定义方法和属性默认是私有的
所以位置(1)的是私有,位置(2)是公有
有什么错误请高手指正
 
我错了,不好意思
Delphi类的定义方法和属性默认是published,
位置(1)时 FName 是published的
 
设计期和运行期的区别!
 
我听一个高手说在位置(1)相当于C++的友元函数,可是...
 
一般应该镇里FName写在Private里。
在PUblish里定义一个属性用于外部访问。
 
TF = class(TForm)
//位置(1)
SName : string;
private

public

end;
如果是从TForm继承过来的类,SName是不可以定义在位置(1)的,提示为"Published field 'SName' not a class nor interface type"
 
后退
顶部