在医院中,医生与病人似乎是不同的对象,但实际上,医生也可能生病,而某些病人也可能具有医学知识
这种情形应该如何设定?
------解决思路----------------------
需要抽象,
病人去医院不会给医生看病的,医生生病了不会给自己看病的。
------解决思路----------------------
就这样瞎写一通吧
class People
{
}
interface IPatient
{
void Ill();
}
class Patient : People, IPatient
{
public void Ill()
{
throw new NotImplementedException();
}
}
class PatientWithKnowledge : Patient, IDoctor
{
public void Cure()
{
throw new NotImplementedException();
}
}
interface IDoctor
{
void Cure();
}
class Doctor : People, IDoctor
{
public void Cure()
{
throw new NotImplementedException();
}
}
class IllDoctor : Doctor, IPatient
{
public void Ill()
{
throw new NotImplementedException();
}
}
------解决思路----------------------
什么叫“这种情形应该如何设定”?
人
{
姓名
年龄
三维
}
医生:人
{
工号
}
病人:人
{
病号
}
医生去看病时,应该当作病人处理,相当于这个人有2种角色,但两种角色不意味着"医生“=“病人”
------解决思路----------------------
就是有4个类
医生
病人
生病的医生
懂医术的病人
------解决思路----------------------
医生和病人这里强调的是医院里角色、职能,不是指人的个体本身。
一个从事医生职业的人在工作时就是医生身份,他生病了去看病的时候就是病人身份。
------解决思路----------------------
医生是个职业,病人可不是职业。同时你也不能简单把施救者和被救者就当医生和病人
比如:我给某溺水MM人工呼吸,心脏复苏,我不是医生,她到有可能是个医生。