我一直在研究一个类,它有一个方法接受一个与包含该方法的类相同类型的参数。
Public Class test
private _avalue as integer
Public Sub CopyFrom(ByVal from as test)
_avalue = from._avalue
End Sub
End Class
在代码
中使用时a.CopyFrom(b)
看来实例“a”可以看到传入的实例“b”和行
的私有成员_avalue = from._avalue
运行时没有错误地将私有字段从一个对象实例复制到另一个对象实例。
有谁知道这是否是设计的。我的印象是私人领域只能由对象的实例访问。
答案 0 :(得分:2)
您正在编写与复制构造函数类似的内容。
由于复制方法/函数是在同一个类中编写的,因此它可以访问自己类的任何实例的私有变量。
答案 1 :(得分:2)
private
范围与类型而非实例相关。所以,是的,这是设计的。
类test
了解自身的私有部分,因此它也可以在同一类型的其他实例上使用这些部分。