国产网曝门99视频在线看_免费看片a级毛片免费看_4hu四虎永久在线观看_高清无套内精线观看456_国产欧美亚洲日韩久久福利_av在线无码观看另类重口_欧美精品一二三区较多收藏_欧美老熟妇伦视频_婷婷六月综合激情_最新国产成人野战在线观看


PHP8的繼承和多態(tài)-PHP8知識詳解

    時間: 瀏覽:744次  來源:站長在線
導讀:我們在前面的時候講過《面向對象編程的特點》時,面向對象編程具有3大特點:封裝性、繼承性和多態(tài)性。 集成和多態(tài)的根本作用就是完成代碼的重用。下面就來講解PHP8的繼承和多態(tài)。

我們在前面的時候講過《面向對象編程的特點》時,面向對象編程具有3大特點:封裝性、繼承性和多態(tài)性。

繼承和多態(tài)的根本作用就是完成代碼的重用。下面就來講解PHP8的繼承和多態(tài)。


1繼承

子類可以繼承父類的所有成員變量成員方法,包括構造方法。當子類被創(chuàng)建時, PHP 會先在子類中查找構造方法。如果子類中有自己的構造方法,則PHP會先調用子類中的方法。如果子類中沒有自己的構造方法,則 PHP會調用父類中的構造方法,這就是繼承。

繼承(Inheritance)是OOP 中最為重要的特性與概念。父類擁有其子類的公共屬性和方法。子類除了擁有父類具有的公共屬性和方法外,還擁有自己獨有的屬性和方法。

PHP 使用關鍵字 extends 來確認子類和父類,實現子類對父類的繼承。具體的語法格式如下:

class 子類名稱 extends 父類名稱{
  //子類成員變量列表
  function 成員方法(){ //子類成員方法
    //方法內容
  }
}

 繼承類的變量,參考案例:

<?php
    class Language {
        var $f1 = "html";                            //定義變量
        var $f2 = "javascript";
    };
    class MyLanguage extends Language {               //類之間繼承
        var $f3 = "php";                            //定義子類的變量
        var $f4 = "mysql";
    };
    $myLanguage = new MyLanguage ();                 //實例化對象
    echo "目前熱門的web開發(fā)語言有:".$myLanguage ->f1.",".$myLanguage ->f2.",".$myLanguage ->f3." ,".$myLanguage->f4;
?>

以上代碼在php8中的運行結果是:

目前熱門的web開發(fā)語言有:html,javascript,php ,mysql

從結果中可以看出,本案例創(chuàng)建了一個Language父類,子類通過關鍵字extends繼承了Language父類中的成員屬性,最后對子類進行實例化操作。

2、多態(tài)

多態(tài)性是指同一操作作用于不同類的實例,將產生不同的執(zhí)行結果,即不同類的對象收到相同的消息時,得到不同的結果。

多態(tài)就像有一個成員方法從廣州去北京,這時候有人做開汽車去,有人做高鐵去,也有人做飛機去。雖然是同一個成員方法,但是卻產生了不同的形態(tài),這就是多態(tài)。

今天我就以一個今日特價水果的案例來實現類的多態(tài):

<?php
    abstract class Fruit {                                 //定義抽象類Fruit
        abstract function display_Fruit();                //定義抽象方法 display_Fruit
    }
class Fruit1 extends Fruit{                             //繼承父類Fruit
        public function display_Fruit (){                 //重寫抽象方法 display_Cars
            echo "今日特價水果是蘋果!" ;            //輸出信息
        }
    }
    class Fruit2 extends Fruit{                        //繼承父類Cars
        public function display_Fruit(){                // display_Cars
            echo "今日特價水果是葡萄!" ;
        }
    }
    function change($obj){                            //自定義方法根據對象調用不同的方法
        if($obj instanceof Fruit){
            $obj->display_Fruit ();
        }else{
            echo "傳入的參數不是一個對象";           //輸出信息
        }
    }
    echo "實例化Fruit1:";
    change(new Fruit1());                          //實例化Fruit1
    echo "<br>";
    echo "實例化Fruit2:";
    change(new Fruit2());                         //實例化Fruit2
?>

以上代碼在PHP8中的運行結果如下:

實例化Fruit1:今日特價水果是蘋果!
實例化Fruit2:今日特價水果是葡萄!

好了,到此為止,PHP8的繼承和多態(tài)就講解完畢了。



本文地址:http://003188.cn/php8dejichengheduotai.html
碼字不易,打個賞唄
楊澤業(yè)感謝你的支持!

猜你喜歡

PHP8中的構造方法和析構方法-PHP8知識詳解

導讀:今日分享的內容是PHP8中的構造方法和析構方法,我們把構造方法和析構方法這兩個方法分開來講:

2023-09-21  分類:PHP學堂  瀏覽:807次


PHP8的類與對象的基本操作之成員變量-PHP8知識詳解

導讀:成員變量是指在類中定義的變量。在類中可以聲明多個變量,所以對象中可以存在多個成員變量,每個變量將存儲不同的對象屬性信息。

2023-09-21  分類:PHP學堂  瀏覽:819次


PHP8的類與對象的基本操作之成員方法-PHP8知識詳解

導讀:成員方法是指在類中聲明的函數。在類中可以聲明多個函數,所以對象中可以存在多個成員方法。類的成員方法可以通過關鍵字進行修飾,從而控制成員方法的商用權限。

2023-09-18  分類:PHP學堂  瀏覽:788次