1.使用组件编程方式防止冗余name=$name;}publicfunctioneat($food){echo$this->name.“吃”。$食物。".\n";}}类性别{私人$性别;公共函数__construct($gender){$this->gender=$gender;}publicfunctiongetGender(){return$this->gender;}}ClassBullWhale{private$action;私人$性别;publicfunction__construct(){$this->action=newAction("BullWhale");$this->gender=newGender("男");}publicfunctioneatFood($food){$this->action->eat($food);}publicfunctiongetGender(){return$this->gender->getGender();}}$bullWhale=newBullWhale();$bullWhale->eatFood("fish");echo$bullWhale->getGender()。"\n";结果是BullWhale吃鱼。MaleBullWhale由Action和Gender组件组成,不同的类可以选择不同的组件组合,这样就不会造成类冗余。
