我正在尝试为我的结构找到解决方案。让我试着告诉我我在做什么。
我有两个课程“Englishman”和“CanadaMan”以及一些能力课程“CanSpeakEnglish”、“CanSpeakFrench”
class CanTalkEnglish{
Database database;
void TalkEnglish(){
Console.Write(" am taking {this.database.MyLanguage}");
}
};
class CanTalkFrench{
Database database;
void TalkFrench(){
Console.Write("Je parle {this.database.MyLanguage}");
}
};
class Englishman : public CanTalkEnglish {
Database database;
void Talk(){
if (this->database.Mood == "OpenToCommunication"){
this->TalkEnglish();
}
}
};
class CanadaMan : public CanTalkEnglish,CanTalkFrench {
Database database;
void Talk(){
if (this->database.Mood == "OpenToCommunication"){
this->TalkEnglish();
this->TalkFrench();
}
}
};
这是我想象中的结构,但问题是“数据库”。所有“Person”类和所有“Capability”类都需要它。但是 this.database 调用是不明确的,有没有设计模式来管理这种需求?