TVBK
接口我也是一直搞不明白。。根据你的说法,我这样理解对吗? 小G负责写 狗class,小M负责写猫class 现在新增一个功能 我按按钮它就叫。不论是 狗class 还是 猫class 都得继承我这个专门负责叫的 接口 。 那接口是不是 这样设计:
// 动物叫接口
interface animalsCall
{
public function call();
}
// 接口出来了 然后 小G 就开始负责在 狗class 里面写 狗的叫声 继承动物叫接口
class Dog implements animalsCall
{
// 小狗看门。。。等 其他功能
public function porter(){}
// 这是所有动物都必须会的一招 继承了animalsCall接口 所以强制必须实现里面的方法call。
public function call(){}
}
// 接口出来了 然后 小M 也同时开工开始负责在 猫class 里面写 猫的叫声 同样继承 动物叫接口
class Cat implements animalsCall
{
// 小猫卖萌。。。等 其他功能
public function acting_cute(){}
// 同样的这是所有动物都必须会的一招 继承了animalsCall接口 所以强制必须实现里面的方法call。
public function call(){}
}
// 然后 现在 有个功能 是点击按钮 就叫
function call(string $type){
if($type == Dog){
new Dog()->call();
}elseif($type == 'cat'){
new Cat()->call();
}
}
这样理解对吗?
如果这样理解的话: 1. 接口只是为了统一方法名?调用起来不会 左一个dogCall 右一个catCall?
2. 作用同1。。。
实在想不出这样还有其他好处没-.-!
还请大佬稍微指点下 (づ ̄3 ̄)づ╭❤~
回复
2020-02-13