当前位置:编程学习 > C#/ASP.NET >>

c#如何保证封装性?

假设一个类是Computer,一个类是Table.它们同时有一个字段是mouse.通过传递方法。让两个私有字段同时引用了同一个Mouse对象。这样的话。一个类对象Table不就可以改变另外一个类对象的状态Computer.mouse1的颜色了吗?这样不算是破坏封装的行为吗?

public class Computer
{
private  Mouse mouse1 = new Mouse("红");

public Mouse()

get{ return mouse1;}
}
}

public class Table
{
private Mouse mouse2;
public Table(Mouse mouse)//在桌子上的鼠标
{
mouse2=mouse;
}
public void ChangeMouseStatus()
{
mouse.color = "绿";
}
}

public static void Main()
{
Computer myComputer =new Computer();
Table table =new Table(myComputer.Mouse);
table.ChangeMouseStatus();
}



如果换成c++
直接把对象本身作为成员变量。一旦设置为private ,其他对象怎么也没有访问权限的。有拷贝也是深拷贝。就不会有这种顾虑吗?还是我根本都思路想的不对?只有20分了。。求指导 c# 封装 --------------------编程问答-------------------- 你这是多个类的内部耦合。
对象的传递是通过引用传递的。
Mouse类从初始化到传递到Table里面都是同一个对象。
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,