当前第2页 返回上一页
四,一个接口多个继承
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 33 34 35 36 37 38 39 | <?php
interface demo {
const NAME = "电影名称" ;
function fun1();
function fun2();
}
interface demo2 {
function fun3();
function fun4();
}
interface demo3 {
const TEST = "这里是测试Test" ;
function fun5();
}
class MyDemo implements demo, demo2 {
function fun1() {
echo "你好" ;
}
function fun2() {
echo "----------" ;
}
function fun3() {
echo "我也好<br />" ;
}
function fun4() {
echo "大家都好<br />" ;
}
}
class YourDemo extends MyDemo implements demo3 {
function fun5() {
echo "继承类后引用接口" ;
}
}
$p = new YourDemo;
$p ->fun1();
$p ->fun2();
$p ->fun3();
$p ->fun4();
$p ->fun5();
|
以上输出
你好----------我也好
大家都好
继承类后引用接口
上面的例子中我们可以看到接口都使用关键字 interface 来定义,并使用关键字 implements 来实现接口中的方法,再举个例子:
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 | <?php
interface User{
function getDiscount();
function getUserType();
}
class VipUser implements User{
private $discount = 0.8;
function getDiscount() {
return $this ->discount;
}
function getUserType() {
return "VIP用户" ;
}
}
class Goods{
var $price = 88;
var $vc ;
function run(User $vc ){
$this ->vc = $vc ;
$discount = $this ->vc->getDiscount();
$usertype = $this ->vc->getUserType();
echo $usertype . "商品价格:" . $this ->price* $discount ;
}
}
$display = new Goods();
$display ->run( new VipUser);
|
这个例子演示了一个 PHP 接口的简单应用。该例子中,User 接口实现用户的折扣,而在 VipUser 类里面实现了具体的折扣系数。最后商品类 Goods 根据 User 接口来实现不同的用户报价.
最后总结下:
抽象类和接口的区别
接口是特殊的抽象类,也可以看做是一个模型的规范。接口与抽象类大致区别如下:
1.一个子类如果 implements 一个接口,就必须实现接口中的所有方法(不管是否需要);如果是继承一个抽象类,只需要实现需要的方法即可。
2.如果一个接口中定义的方法名改变了,那么所有实现此接口的子类需要同步更新方法名;而抽象类中如果方法名改变了,其子类对应的方法名将不受影响,只是变成了一个新的方法而已(相对老的方法实现)。
3.抽象类只能单继承,当一个子类需要实现的功能需要继承自多个父类时,就必须使用接口。
以上就是php中的implements 使用详解的详细内容,更多文章请关注木庄网络博客!!
返回前面的内容
相关阅读 >>
php弹出对话框实现重定向示例代码
解析mysql数据库中外键约束
mysql中关于prepare原理的详解
php mysqli用法介绍
mysql数据如何生成php数组文件
简单讲解对wordpress数据库的认识及使用命令
php中mysqli处理查询结果集的多个方法
php中文件锁解决多进程同时读写一个文件问题的解决方法
mysql中buffered and unbuffered queries及pdo的非缓存查询例子
mysql事务回滚演示详解
更多相关阅读请进入《implements》频道 >>
机械工业出版社
本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。
转载请注明出处:木庄网络博客 » php中的implements 使用详解