在Vb.Net中,接口的行为不同。下面是一个示例代码片段,其中IStudent
接口具有一个名为SayHello
的方法,该方法由Student
类实现。访问限定符SayHello
默认应该是Public
。将访问限定符更改为Private
不会破坏现有代码,仍然可以使用以下代码访问此私有方法:
Dim stdnt As IStudent = New Student
stdnt.SayHello()
访问修饰符确定类中成员的范围,私有成员仅可被所在类访问。但是,在这里,访问修饰符和封装的理论已经被打破。
- .net为什么要设计成这样?
- 访问修饰符和封装的概念真的被打破了吗?
- .net框架如何内部处理这种情况?
提前致谢。
Module Module1
Sub Main()
Dim stdnt As IStudent = New Student
stdnt.Name = "vimal"
stdnt.SayHello()
End Sub
End Module
Public Interface IStudent
Property Name As String
Sub SayHello()
End Interface
Public Class Student
Implements IStudent
Private Property Name As String Implements IStudent.Name
Private Sub SayHello() Implements IStudent.SayHello
Console.WriteLine("Say Hello!")
End Sub
End Class
private
。但是你也不必指定public
,所以它介于 public 和 private 之间... - JLe