php高级篇(2)——接口

定义 :

接口是一种类似于类的结构,可用于实现类所必须实现的方法。多处用于差异化有些需要非固定动作,而且对于某些类来说必须实现的方法。

接口与抽象类类似,在方法定义上有明显区别,接口只能包含方法原型,不能包含任何方法的定义。除了这点一个类可实现多个接口,也就是间接实现了多重继承。

注意:

1. 接口用interface定义,用 implements实现

2. 如果某个类实现某个接口,就必须实现接口中的方法

3. 每个类可以实现多可接口

例子:

/**

比如目前物流系统中,货品具备有半成品和普通货品两个类型,半成品和货品唯一的区别就是有新增原料的方法和生产方法,其他属性和方法与普通货品一致

试着注释PriPrdGoods类中的addMaching,观察一下错误;

同时注意一个类可以同时实现PrePrdct,Product 这两个接口;

**/

//半成品接口

interface Preprdct{

//半成品具备增加原料的功能,其他普通商品不具备这个方法

public function addMaching($metail);

}

interface Product{

public function productMetail();

}

//货品类

class Goods{

private $gid;

private $gname;

private $type;

public function __construct($gid,$name,$type,$extends=array()){

$this->gid = $gid;

$this->name = $name;

$this->type = $type;

}

}

//半成品类

class PriPrdGoods extends Goods implements PrePrdct,Product{

public function addMaching( $metail ){

echo "添加原料 ".$metail."
";

}

public function productMetail(){

echo "生成办成品".$this->name."
";

}

}

//声明一个羊肉串的半成品

$priPrdGoods = new PriPrdGoods("1","羊肉串",1);

$priPrdGoods->addMaching("羊肉");

$priPrdGoods->productMetail();

代码截图:

结果:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容