有个问题是关于继承和接口的?~~~~~~~我有个class person implements ispeak{public function speak(){echo "人说话";}}类,
鸟类class bird implements ispeak{public function speak(){echo "鸟叫";}}类
接口ispeak{public function speak();}我一个艺人类 yrPerson extends person {}
因为艺人可以学鸟叫 我现在想让艺人也可以鸟叫 但不要重复写代码public function speak(){echo "鸟叫";}
高手给讲讲!!!!急呀 经理总说我代码重复率太高了~~~~~
鸟类class bird implements ispeak{public function speak(){echo "鸟叫";}}类
接口ispeak{public function speak();}我一个艺人类 yrPerson extends person {}
因为艺人可以学鸟叫 我现在想让艺人也可以鸟叫 但不要重复写代码public function speak(){echo "鸟叫";}
高手给讲讲!!!!急呀 经理总说我代码重复率太高了~~~~~
interface ispeak {
public function speak();
}
class person implements ispeak {
public function speak() {
echo "人说话";
}
}
class bird implements ispeak {
public function speak() {
echo "鸟叫";
}
}
class dog implements ispeak {
public function speak() {
echo "狗叫";
}
}
//各种叫....class Factory {
public static function func($role){
return new $role();
}
}
class yrPerson{
public function speak($a){
$func=Factory::func($a);
return $func->speak();
}
}$person=new yrPerson();
$person->speak('dog');
$person->speak('person');
$person->speak('bird');
//添加口技方法...
public function show($a){
$func=Factory::func($a);
return $func->speak();
}
}$person=new yrPerson();
$person->speak(); //自己说话
$person->show('dog'); //学狗叫
$person->show('bird'); //学鸟叫
//接着学...
class yrPerson{
public function speak($a){
$func=Factory::func($a);
return $func->speak();
}
必须要继承person类
我不能因为叫的功能失去更多的功能~~~
interface ispeak {
public function speak();
}
class person implements ispeak {
public function speak() {
echo "人说话";
}
}
class bird implements ispeak {
public function speak() {
echo "鸟叫";
}
}
class dog implements ispeak {
public function speak() {
echo "狗叫";
}
}
//各种叫....class Factory {
public static function func($role){
return new $role();
}
}
class yrPerson extends person{
public function speak($a){
$func=Factory::func($a);
return $func->speak();
}
}$person=new yrPerson();
$person->speak('dog');
$person->speak('person');
$person->speak('bird');?>
艺人继承person类之后,就不能再定义speak方法