<?php
/*
?* WEB开发笔记 www.chhua.com 每日练习之PHP面对对象接口的练习
?*/

/*=========================抽象类
?*
?*/
abstract class abs{//抽象类必须通过继承之后才能实例化
?protected? $arr;
?public function __construct(){//抽象类的构造方法
??$this->arr=array(“a”,”b”,”c”,”d”);
?}
?
?abstract function write();//抽象类中的抽象方法
}
/*============================接口
?*
?*/
interface read_api{
?public function read();//接口中定义的方法必须全部重写
}

interface run_api{
?public function run();//接口中定义的方法必须全部重写
}

/*===========实例化
?*
?*/
class abs_a extends abs implements read_api{//继承一个抽象类,实现一个接口
?public function read(){
??echo “read”;
?}
?public function write(){//重写抽象方法,实现不同的功能
??print_r($this->arr);
?}
}

class abs_b extends abs implements read_api,run_api{//只能继承一个抽象类,可以实现多个接口
?public function write(){//重写抽象方法,实现不同的功能
??echo “www.chhua.com“;
?}
?
?public function read(){
??echo “read”;
?}
?
?public function run(){
??echo “run”;
?}
}

$a1=new abs_a();
$a1->write();
$a1->read();

$a2=new abs_b();
$a2->write();
$a2->read();
$a2->run();
?>