public属性//1.我没找到这个属性;2.且看书本: "该属性决定类模块所定义的类能否被其他应用程序所共享使用" 另一种解释"若该属性值为true时,则表示可以在其他项目中引用;否则只能在本项目中使用"我不明白它说什么,只是在猜测.这些话语中"其他应用程序"和"其他项目"是指本工程的其他模块,如窗体模块和标准模块 还是指excel,c++等呢.如果我能在类的属性页里能看到并且设置它的值的话,我就会去用测试来验证我的猜测
但是我不能.instacing属性 能否让其他应用程序共享该类 ,在工程的类中找不到,在做dll的时候看到了
明白了public属性应该就会明白这个属性吧
但是我不能.instacing属性 能否让其他应用程序共享该类 ,在工程的类中找不到,在做dll的时候看到了
明白了public属性应该就会明白这个属性吧
public属性是用来定义类的属性的,形式如: public class........
这样你的这个类就可以被其他工程使用了
"public class........
这样你的这个类就可以被其他工程使用了"------不所云啊
Public PopertyA as string
这样就定义了该类实例的属性,实例的PopertyA属性可读可写
也可以用
private strPopertyA as string
然后使用PopertyA Let,PopertyA Get 也可以收到同样的效果.
(我觉得你们就是这种意思,还有书本上的话也是,让人费解!)2 province_(雍昊) "类的公共属性",public 关键字定义的属性就是叫做"类的公共属性"吗?
那类不公共的属性是什么属性? 我觉得你之所以叫它为"公共属性"是因为平时使用的预定义的
控件类,如:name 就是公共属性.但是Public name as string,这样的话你能够通过这个属性象text1.caption一样引用实例吗?所以我觉得无所谓"公共属性"与否(除非这个类又是父类的子类之一-----------只是突然猜到的).2 fj182(阿花) Friend 我不知道了,private我就知道,如果使用public来定义属性,创建对象实例后可直接读写该实例的该属性public为true"就可以被其他工程使用了"
"Public属性表示对内对外全部可见"
"该属性决定类模块所定义的类能否被其他应用程序所共享使用"
"若该属性值为true时,则表示可以在其他项目中引用;否则只能在本项目中使用"现在想知道的只是这个:如上面四行文字了.
我想这个你们所说的"其他工程"是不是对整个工程组下的所有工程(如工程1,工程2)意思呢?
如:在工程1中定义class1:
public A as string
private strB as string
唉,我发现我表达自己也有点难了,我自己去测试一下
方法1:
Public A as long方法2:
private m_A as longpublic property get A as long
A=m_A
end propertypublic property let A(byval Value as long)
if Value<0 then err.raise vbobjecterror,,"无效属性值" m_A=Valueend property两种方法能够达到同样的效果,不过按照面向对象的观点方法1不可取,因为对变量A的访问无法控制,而在方法2中试图传入一个小于零的数来修改变量m_A将会引发一个错误。
还有在工程组中有:工程1,工程2,工程3,三个工程
工程1中定义了一个类class1
而在工程2中是不可以创建class1实例的
如果要在工程2中使用class1就得把class1添加到工程2中,或者是做成activexDLL了,类库了
我想计算出某个类所创建的对象实例的数目看了看书本,觉得不对的
标准模块中:
Public nCount As Integer
类模块中:
Public Property Get Count() As Integer
Count = nCount
End PropertyPublic Property Let Count(ByVal NewValue As Integer)
nCount = NewValue
End Property1.count属性是不可写的
2.count属性是动态变化
CAP是TEXT对象的公共属性,你STRING对象事先没定义当然就不能这么用了。实际上我不是很明白你这句话的意义,如果你的类实例化了当然能用CLS。NAME这种形式来访问NAME。
公共属性:由同一个类创建的多个对象实例都具有的属性 (这样理解对吗?)"caption 是TEXT对象的公共属性"----------- 哪个属性是某一个text对象所特有的?
再如控件数组text1吧,其中有text1(0),text1(1),text1.(2),这3控件元素中,哪个属性是text1(0)有,而其他两个控件元素没有的?请列出来.但是text1.count属性就是他们三个元素所不具备的属性了,然而text1是比text1(0),text1(1),text1.(2)高一层的啊(父类吧,不会c++,不然也不会有那么多问题来问).
再看我所问到的public属性,可能是用来责怪你们以上所回帖子的
DAMN 类中代码
Public Name As String
Private intAge As Integer
Private udtCoat As CoatType Public Event Awake() Public Property Get Age() As Integer
Age = intAge
End Property Public Property Let Age(ByVal vNewValue As Integer)
intAge = vNewValue
End Property就看Age属性好了,上面Age属性的读写过程都使用了Public关键字,然后观察到的是,在窗体模块,标准模块的事件过程,通用过程,函数过程均可以
dim a as new DAMN
a.Age=11 '效果(当a右边的那个小点你敲下时,vb就自动列出了DAMN类的成员列表,其中就含有Age属性)
当Age属性的读写过程用private来定义呢,在其他模块中就不可以有上面所说的效果了如果你们给我解释的public属性就是这个意思的话,那么
"工程外 ","其他工程","其他项目","其他程序"这样的解释会让我非常的不理解,如果你说"当不是使用public关键字定义属性时,工程内的其他模块(如窗体模块,标准模块)就不可以引用其实例的属性".
幸好你们不是老师,不过老师也....... 哈哈,有点郁闷了,不要见怪哈.
工程A是一个Active DLL工程,而工程B是标准的EXE,在工程A中有类模块DAMN。在 DAMN 中有: Private intAge As Integer Public Property Get Age() As Integer
Age = intAge
End Property Public Property Let Age(ByVal vNewValue As Integer)
intAge = vNewValue
End Property如果在工程B中引用工程A,那么类模块DAMN中的属性对工程B可见,在工程A中也可见。如果把该过程声明为Friend,那么属性只在A中可见,B中不可见。强调一下,Private属性虽然没有语法错误,但是是没有意义的,因为A和B中都不见。