<button id="g80sy"></button>
  • <abbr id="g80sy"></abbr>
  • <button id="g80sy"></button>
    <rt id="g80sy"><delect id="g80sy"></delect></rt>
  • php接口中interface的使用方法

    程序猿 2021-03-01 21:36:13 1769瀏覽 加載中

    對于接口來說,其中是包含了很多方法的集合,有一個方法是需要大家都學習的,那就是interface。這里我們主要講的是它的兩個繼承用法,普通的繼承和多繼承的使用,特別是多繼承方面,初學者還是不明白的。下面我們先就接口簡單介紹,然后帶來對應的使用方法實例。

    1、說明

    接口中的方法都是抽象方法,并且是public。

    2、接口同樣可以繼承接口,但是子類必須實現所有方法

    interface E extends A {
        //接口E繼承接口A,E中必須實現A中所定義的方法
    }

    3、實現多重繼承:

    我們都知道PHP中的類(class)是單繼承的,那是不是就沒有辦法實現多重繼承了呢?答案是否定的.我們可以通過其它特殊的方式實現類的多重 繼承,比如使用接口interface實現,只要把類的特征抽象為接口,并通過實現接口的方式讓對象有多重身份,通過這樣就可以模擬多重繼承了。

    下面是一個用接口(interface)實現多重繼承的例子,源代碼如下:

    <?php
    interface UserInterface{ //定義User的接口
    function getname();
    }
    interface TeacherInterface{ //teacher相關接口
    function getLengthOfService();
    }
    class User implements UserInterface { //實現UserInterface接口
    private $name = "tom";
    public function getName(){
    return $this->name;
    }
    }
    class Teacher implements TeacherInterface { //實現TeacherInterface接口
    private $lengthOfService = 5; // 工齡
    public function getLengthOfService(){
    return $this->lengthOfService;
    }
    }
    // 繼承自User類,同時實現了TeacherInterface接口.
    class GraduateStudent extends User implements TeacherInterface {
    private $teacher ;
    public function __construct(){
    $this->teacher = new Teacher();
    }
    public function getLengthOfService(){
    return $this->teacher->getLengthOfService();
    }
    }
    class Act{
    //注意這里的類型提示改成了接口類型
    public static function getUserName(UserInterface $_user){
    echo "Name is " . $_user->getName() ."<br>";
    }
    //這里的類型提示改成了TeacherInterface類型.
    public static function getLengthOfService(TeacherInterface $_teacher){
    echo "Age is " .$_teacher->getLengthOfService() ."<br>";
    }
    }
    $graduateStudent = new GraduateStudent();
    Act::getUserName($graduateStudent);
    Act::getLengthOfService($graduateStudent);
    //結果正如我們所要的,實現了有多重身份的一個對象.
    ?>

    以上就是php接口中interface的使用方法,大家學會后,可以獨立的嘗試使用一下,看看能否達成繼承的效果。

    標簽: php
    最后修改:2025-03-26 13:04:38

    非特殊說明,本博所有文章均為博主原創(chuàng)。

    主站蜘蛛池模板: 南京市| 江川县| 安庆市| 贵溪市| 成安县| 扎赉特旗| 礼泉县| 宜兰县| 西盟| 湖北省| 曲阜市| 乌审旗| 长治市| 汝州市| 墨竹工卡县| 仁怀市| 桦甸市| 静乐县| 上杭县| 三门县| 二连浩特市| 广德县| 万全县| 城步| 奉化市| 迭部县| 桐庐县| 马龙县| 大足县| 新昌县| 页游| 丰镇市| 玉林市| 昌乐县| 钦州市| 嘉禾县| 隆回县| 弥渡县| 神农架林区| 满洲里市| 灵台县|