我目前正在努力理解我刚刚在某处看到的东西。
可以说我有两个课程:
class MyFirstCLass{
public int membVar1;
private int membVar2;
public string membVar3;
private string membVar4;
public MyFirstClass(){
}
}
和 :
class MySecondClass{
private MyFirstClass firstClassObject = new MyFirstClass();
public MyFirstClass FirstClassObject{
get{
return firstClassObject;
}
}
}
如果我做这样的事情:
var secondClassObject = new MySecondClass(){
FirstClassObject = {membVar1 = 42, membVar3 = "foo"}
};
secondClass 是 MySecondClass 的一个实例,并且确实有一个 MyFirstClass 类型的私有成员变量,它有一个 readOnly 属性。但是,我可以更改 membVar1 和 membVar2 的状态。没有封装问题吗?
最好的祝福,
Al_th