PHP多态的理解之interface接口类
17-12-26 11:55
字数 971
阅读 3165
已编辑
什么是多态呢,我觉得可以简单的理解为,同一事物对同一行为的不同反应。
可能还是不好理解,举个例子说明一下。
动物都会叫(暂且这么认为),猫是动物,狗也是动物,狗的叫声是wang wang wang ~,而猫是miao miao miao~。
上边的例子用代码实现如下:
interface animal{
public function cry();
}
class cat implements animal{
public function cry(){
echo "miao~ <br>";
}
}
class dog implements animal{
public function cry(){
echo "wang ~ <br>";
}
}
function tocry(animal $obj){
$obj->cry();
}
tocry(new dog());
tocry(new cat());
输出
wang ~
miao~
接口类还有其他的应用
interface User
{
public function getDiscount();
public function getUserType();
}
class VipUser implements User
{
const discount = 0.8;
public function getDiscount()
{
return self::discount;
}
public function getUserType()
{
return "Vip User";
}
}
class Goods
{
private $price = 100;
private $ur;
public function buy(User $ur)
{
$this->ur = $ur;
$discount = $this->ur->getDiscount();
$usertype = $this->ur->getUserType();
echo "user type is : " . $usertype . ", price is : " . $this->price * $discount;
}
}
$g = new Goods();
$g->buy(new VipUser());
上个例子中体现了多态的两个特征
- 子类重写父类方法
- 父类指向子类
其实php的抽象类(abstract)和接口类(interface),个人觉得都是多态的体现。虽然不如java,OC等强类型语言那么明显。但是也是多态。
个人理解,可能有不对的地方。希望大家指出,共同交流进步。
0人点赞>
0 条评论
排序方式
时间
投票
快来抢占一楼吧
请登录后发表评论
相关推荐
文章归档
2024-11
1 篇
2024-06
1 篇
2024-05
2 篇
2024-04
2 篇
2024-03
2 篇
展开剩余 68 条
2024-01
1 篇
2023-10
1 篇
2023-09
1 篇
2023-08
1 篇
2023-06
1 篇
2023-04
1 篇
2022-12
2 篇
2022-06
1 篇
2022-04
4 篇
2022-03
3 篇
2022-01
6 篇
2021-12
2 篇
2021-11
2 篇
2021-10
2 篇
2021-09
1 篇
2021-08
2 篇
2021-07
4 篇
2021-06
1 篇
2021-05
3 篇
2021-04
3 篇
2021-01
2 篇
2020-11
1 篇
2020-10
3 篇
2020-09
2 篇
2020-08
1 篇
2020-07
5 篇
2020-06
5 篇
2020-05
1 篇
2020-04
1 篇
2020-03
2 篇
2020-02
3 篇
2020-01
1 篇
2019-11
5 篇
2019-10
10 篇
2019-09
12 篇
2019-08
17 篇
2019-07
8 篇
2019-05
3 篇
2019-04
8 篇
2019-03
7 篇
2019-02
8 篇
2019-01
5 篇
2018-12
7 篇
2018-11
8 篇
2018-10
4 篇
2018-09
7 篇
2018-08
12 篇
2018-07
9 篇
2018-06
6 篇
2018-05
11 篇
2018-04
18 篇
2018-03
1 篇
2018-02
2 篇
2018-01
10 篇
2017-12
14 篇
2017-11
44 篇
2017-10
13 篇
2017-09
4 篇
2017-08
12 篇
2017-07
5 篇
2017-06
4 篇
2017-05
2 篇
2017-04
3 篇
2017-03
9 篇
2017-02
3 篇
2017-01
2 篇
2016-12
10 篇
2016-11
4 篇
最新文章
最受欢迎
11-07 19:00
06-26 11:51
05-17 17:08
05-17 10:59
04-11 17:05
13 评论
11 评论
10 评论