关于Private中属性和方法的可见度问题 ( 积分: 50 )

  • 主题发起人 主题发起人 MayRoy
  • 开始时间 开始时间
M

MayRoy

Unregistered / Unconfirmed
GUEST, unregistred user!
最近,发现有点不明白Private的可见度,它们对外部是不可见的,但是它在子类中是否可见呢,在子类中它们是否可以被访问呢?
请各位大侠帮忙,先谢过了!
 
最近,发现有点不明白Private的可见度,它们对外部是不可见的,但是它在子类中是否可见呢,在子类中它们是否可以被访问呢?
请各位大侠帮忙,先谢过了!
 
当然不可以的,除非在同一单元里,2005下可以使用Strict private限制同单元下的访问,
这还要讨论吗?
 
子类不可见,但是Delphi中如果在同一个单元内,则可见!
当然,用其它方法在不同单元中的子类或都其它代码也是可见的
 
唉,先看看书色。
 
在同一单元中就可以访问吗?
但在子类中用代码感应功能也不能出现Private中的属性和方法。
 
要在子类中使用,为什么不定义为Protected?
 
现在我是想知道Private中的属性和方法是否可以被子类调用。
Protected中当然是可以的。
 
private跟其它语言的private基本上是一样的,只是private在同一个单元中的任何地方都可见。
 
stlxv大侠,那是指在单元的实现部分吧?
 
对,在同一单元的任意方法和函数都能看到
 
访问的时候,要加上限定符,注明是哪个类的方法和属性,对吧?

另外,在一个窗体定义中,简单举例如下:
TForm1 = class(TForm)
Label1: TLabel;
Button1: TButton;
private
{ Private declarations }
public
{ Public declarations }
end;
其中的
Label1: TLabel;
Button1: TButton;
这两行算是什么属性,它们却是在子类中可见的。
 
这两个应当是被称之为Default部分的,
Default部分是默认为published吧。有开关量控制其可见度,但是默认是往公开来讲
如果关闭开关则往私密方向处理,

不必考虑,只要记得是公开的就可以了
 
多人接受答案了。
 
后退
顶部