将心比心,方得人心~

php多态的使用

周洲 2017-04-06 21:04:09

多态是指 OOP 能够根据使用类的上下文来重新定义或改变类的性质或行为,或者说接 口的多种不同的实现方式即为多态。把不同的子类对象都当作父类来看,可以屏蔽不同子类 对象之间的差异,写出通用的代码,做出通用的编程,以适应需求的不断变化。

<?php

//什么叫做多态,字面意思,多种形态

//一个动作由不同的人去执行,而产生不同的效果或者结果,即为多态。

//一个人通过不同的状态去执行同一种动作,形成不同的结果,也可以称作为多态。


//园丁              剪              修理花草
//理发师          剪               理发
//总裁              剪               裁员


//人            笔记本             运行            win7开机了
//人            台式机              运行            xp开机了


//创建一个接口,来规范运行的方法
interface Computer {
    public function version(); //这个方法表示采用什么电脑
    public function work();  //这台电脑是怎么运行的
}

//创建一个笔记本类来实现接口
class NoteComputer implements Computer {
    public function version() {
        echo '笔记本';
    }
    public function work() {
        echo '可以便携式运行win7';
    }
}

//创建一个台式机的类来实现接口
class DesktopComputer implements Computer {
    public function version() {
        echo '台式机';
    }
    public function work() {
        echo '在工作站运行XP';
    }
}


//创建一个用户
class Person {
    //创建一个方法来接受电脑(笔记本电脑,也可是台式电脑)
    //怎么接受,将他们的对象传进来就OK啦。
    public function _run($type) {
        echo '这个人的';
        $type->version();
        $type->work();
    }
}


//多态的原理,就是类都写好了,不要去修改他,只要在类外的调用参数的更改
//而最后的结果也会得到更改,那么这个就是多态。

//有一个接口,两个类,一个是笔记本的类,一个是台式机的类

//创建了笔记本
$notecomputer = new NoteComputer();
//创建台式机
$desktopcomputer = new DesktopComputer();
//创建一个人
$person = new Person();
//使用电脑
$person->_run($notecomputer);  //这种传递,叫做对象引用的传递

?>


打赏

『微信打赏』

Tag标签php 

我是有底线的