php 多态

使用接口和类型提示实现多态

  • 根据使用类的上下文来重新定义或改变类的性质和行为

  • 不同的对象,执行相同的方法,而又取得不同的结果

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
interface 
{
public function eat();
}

class Cat implements
{
public function eat(){
echo "cat eat";
}
}

class Dog implements
{
public function eat(){
echo "dog eat";
}
}

class Demo
{
public function eat(Animal $animal)
{
$animal->eat();
}
}

$demo=new Demo;

$demo->eat(new Dog());

$demo->eat(new Cat());