日期:2014-05-19  浏览次数:20846 次

关于实体类的几个疑问
假设有一个实体类,如下所示:

public   class   CarInfo
{
private   string   carId;
private   string   carName;
private   plateInfo   plate;
public   CarInfo()   {]
public   CarInfo(string   carId,   string   carName){
this.carId   =   carId;
this.carName   =   carName;
}
public   string   CarId{
get   {   return   carId;   }
set   {   carId   =   value;   }
}
pulic   string   CarName{
get   {   return   carName;   }
set   {   carName   =   value;   }
}
public   plateInfo   plate{
get   {   return   plate;   }
set   {   plate   =   value;   }
}
}

public   class   PlateInfo   {
private   string   plateId;
private   string   plateName;
public   PlateInfo()   {}
public   PlateInfo(string   plateId,   string   plateName)   {
this.plateId   =   plateId;
this.plateName   =   plateName;
}
public   string   PlateId   {
get   {   return   plateId;   }
set   {   plateId   =   value;   }
}
public   string   PlateName   {
get   {   return     plateName;   }
set   {   plateName   =   value;   }
}
}

如果有方法Add(CarInfo   car),其实里面只用到了carId和carName;有个Edit(CarInfo   car),其实里面只用到了plateId和plateName;有个Get()方法,返回的是CarInfo的所有信息。   这样就有个问题,用户使用Add和Edit方法的时候都需要把其他不必要的值也写进去,用户也无法知道哪些参数是必须的。如果是使用Add(string   carId,   string   carName)和Edit(PlateInfo   plate)的话又暴露了该实体类对象的内部结构,好像有面向对象的原则背道而驰(呵呵,面向对象正在学习中,很多东西都还没个概念:))  
请问各位大虾对这些问题是一般是怎么处理的?最好能给个例子,好几次遇到这个问题,都是采取后面的那种方式暂时解决的,不过总觉得有问题,呵呵。希望哪位大虾能指正一下,谢谢。

------解决方案--------------------
好象没有好的解决方法的,你申明了PUBLIC就看的见,