Correcting teacher:天蓬老师
Correction status:qualified
Teacher's comments:再往后学就好了
<?php
//多接口继承
interface iFater
{
const RMB = '100' ;
}
interface iSon1 extends iFater
{
const NA_RMB = '50';
}
interface iSon2 extends iFater, iSon1
{
public function hua();
}
//实现类
// class Boss implements iFater, iSon1, iSon2
// {
// public function hua()
// {
// return '爸爸拿了'. iFater::RMB.'元给大儿子,大儿子给了弟弟'. iSon1::NA_RMB ;
// }
// }
//简化代码
class Boss implements iSon2
{
public function hua()
{
return '爸爸拿了'. iFater::RMB.'元给大儿子,大儿子给了弟弟'. iSon1::NA_RMB ;
}
}
echo (new Boss) -> hua();
<?php
//mp3接口
interface iMp3
{
const MUISCC = '听音乐';
}
//mp4接口
interface iMp4 extends iMp3
{
const MOVIE = '看电影';
}
//手机接口
interface IShouji extends iMp4
{
public function tel();
}
//手机可以打电话听音乐
class Mobile implements iShouji
{
public $tel='打电话';
public function tel()
{
echo '手机不紧可以'.$this->tel.'还可以'.iMp4::MOVIE.'更可以'.iMp3::MUISCC;
}
}
$obj = new Mobile();
$obj->tel();
<?php
//trait 功能与语法
//trait:代码复用。只限于php5.4以上
//trait:与抽象类,接口一样不能实例化,只能嵌入到宿主类中使用
//triat是一个特殊类
trait myTrait {
public $myName = 'misszhou';
public function fly() {
echo '我能飞';
}
public function run() {
echo '我能跑';
}
}
class person {
public function eat() {
echo '我能吃';
}
public function see() {
echo '我能看';
}
}
class man extends person {
use myTrait;
public function work() {
echo '我是超人';
}
public function see() {
echo '超人就是我';
}
}
$superMan = new man();
$superMan->work();
$superMan->run();
$superMan->fly();
$superMan->see();
有点难,只有搞点简单的,本来想像老师两种方法连接数据那样两种方法实现一个接口的,但是脑壳不怎么好使