面向对象的抽象类、接口、多态

抽象类:含有抽象方法的类。(父类指定给后代做的一些事[父亲没有完成的])

接口:只含有抽象方法的类。

多态:一个函数可以使用多个类。(通过一个函数去加工多个不同的类对象)

 

抽象类例子如下:(注:抽象方法没有方法体,而且抽象类里面也可以有其他的普通方法。后代只要完成父辈指定的未完成的抽象方法即可,只有子类完成才可以实例父类的其他的普通方法。)

<?php
abstract class usb{
    abstract function star();
    abstract function play();
    abstract function stop();
    function useusb(){
        $this->star();
        $this->play();
        $this->stop();
    }
}
class uspan extends usb{
    function star() {
        echo "准备识别USB<br>";
    }
    function play() {
        echo "正在识别USB<br>";
    }
    function stop() {
        echo"识别完毕USB<br>";
    }
}
$chouxiang=new uspan();
$chouxiang->useusb();
?>

 

接口例子如下:(注意:后辈必须要完成父类指定的抽象方法,接口里面不能有其他的普通方法。后辈类里面可以有其他的普通方法。)

<?php
 interface usb{
     function star();
     function play();
     function stop();
     function useusb();
}

//implements是必须实现(是父类给子类必须要实现的任务)
class uspan implements usb{
    function star() {
        echo "准备识别USB<br>";
    }
    function play() {
        echo "正在识别USB<br>";
    }
    function stop() {
        echo"识别完毕USB<br>";
    }
    function useusb(){
        $this->star();
        $this->play();
        $this->stop();
    }
}
$chouxiang=new uspan();
$chouxiang->useusb();
?>

 

多态的示例如下:()

<?php
interface usb{
    function star();
    function run();
    function stop();
}
class upan implements usb{
    function star(){
        echo "准备识别Upan设备<br>";
    }
    function run(){
        echo "正在识别Upan设备<br>";
    }
    function stop(){
        echo "停止识别Upan设备<br>";
    }
}
class udisk implements usb{
    function star(){
    echo "<style:margin-top:20px>准备识别Udisk设备<br>";
    }
    function run(){
        echo "正在识别Udisk设备<br>";
    }
    function stop() {
        echo"停止识别Udisk设备<br>";
    }
    }
  function useusb(usb $obj){
        $obj->star();
        $obj->run();
        $obj->stop();
    }
    $upan_1=new upan();
    $udisk_1=new udisk();
    useusb($upan_1);
    useusb($udisk_1);

?>
   

转载于:https://my.oschina.net/u/2456768/blog/514696

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值