请教类方法的设计
比如有学生一个类,有学生的班级,学号,宿舍地址等属性,有修改这些属性的一些方法.
想问问,对于查询,删除学生信息这样的方法,应该做为学生类的方法呢,还是要重新定义一个新类,做为新类的方法?
[解决办法]
重新定义一个新类
[解决办法]
定义一个新类.
学生类只是放一个学生的信息,而查询删除是学生集合上的操作.
[解决办法]
要保持独立的话
学生数据信息可以放在一个类或结构里
另外一个类用来存放所有学生的数据和对数据进行查询,删除操作
[解决办法]
就放学生类里面我觉得也不错,作为PUBLIC外面调调
[解决办法]
class CStudent
{
int m_nId;
string m_strName;
};
class CStudentManager
{
public:
CStudent& find(int nId);
bool Add(const CStudent& st);
bool remove(int nId);
private:
list<CStudent> m_listStudents;
};
[解决办法]
按楼主你的描述,学生是独立的一个个体,那么对这些个体的操作还是独立出来比较合适。
[解决办法]
就定义一个学生集合,相当于自已实现vector<student>,set<student>或list<student>
[解决办法]
我认为要看你整个跟这个学生相关的设计,如果学生是一个基本的操作单位,那么独立出来比较好,因为基础的看起来简单点比较好,用起来也比较方便。如果是一个比较独立的单位,那么耦合起来比较好,使用和维护都有不错的效果
[解决办法]
既然类是从现实抽象出来的,就要根据现实去设计
学生不能拥有添加删除这样的"功能"
因此不能添加这个方法
用于这个功能的可能是管理者
maybe
[解决办法]
应该独立出来好吧.想想应该就知道了
[解决办法]
按照lz的描述, 好像有多个角色存在, 学生, 管理员:班级管理员, 宿舍管理员
对象设计: 根据不同的角色, 定义不同的类. 根据角色的责任来定义方法. 通过不同角色的协作来共同完成任务.