PHP8的继承和多态-PHP8知识详解

导读:我们在前面的时候讲过《面向对象编程的特点》时,面向对象编程具有3大特点:封装性、继承性和多态性。 集成和多态的根本作用就是完成代码的重用。下面就来讲解PHP8的继承和多态。

我们在前面的时候讲过《面向对象编程的特点》时,面向对象编程具有3大特点:封装性、继承性和多态性。

继承和多态的根本作用就是完成代码的重用。下面就来讲解PHP8的继承和多态。


1继承

子类可以继承父类的所有成员变量成员方法,包括构造方法。当子类被创建时, 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开发语言有:".$myLanguage ->f1.",".$myLanguage ->f2.",".$myLanguage ->f3." ,".$myLanguage->f4;
?>

以上代码在php8中的运行结果是:

目前热门的web开发语言有:html,javascript,php ,mysql

从结果中可以看出,本案例创建了一个Language父类,子类通过关键字extends继承了Language父类中的成员属性,最后对子类进行实例化操作。

2、多态

多态性是指同一操作作用于不同类的实例,将产生不同的执行结果,即不同类的对象收到相同的消息时,得到不同的结果。

多态就像有一个成员方法从广州去北京,这时候有人做开汽车去,有人做高铁去,也有人做飞机去。虽然是同一个成员方法,但是却产生了不同的形态,这就是多态。

今天我就以一个今日特价水果的案例来实现类的多态:

<?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的继承和多态就讲解完毕了。



本文地址:https://www.665800.com/93.html
码字不易,打个赏呗
杨泽业感谢你的支持!

猜你喜欢

百姓财经网公司简介

江华站长在线网络科技有限公司简介江华站长在线网络科技有限公司坐落在湖南省永州市江华瑶族自治县大路铺镇豹虎村,站长2020年开始回家创业,把公司注册在自己家里面,为一人控股的有限

2024-12-13  分类:百科  浏览:289次


湖南导航

人民政府:湖南省长沙市芙蓉区天心区岳麓区开福区雨花区望城区长沙县浏阳市宁乡市衡阳市衡南县衡阳县衡山县衡东县祁东县常宁市耒阳市南岳区雁峰区石鼓区珠晖区蒸湘区株洲市天元区炎陵县茶陵

2024-12-10  分类:资讯  浏览:305次


江华民政局关于大路铺镇14条街道命名的公告(附地图标注)

导读:再县政府公布的14条街道命名的基础上,湖南江华网站长杨泽业从大路铺政府弄到了一张地图标注,让大家更加直观的看见街道命名。

2024-12-06  分类:资讯  浏览:294次


西游记第二十九回 脱难江流来国土 承恩八戒转山林

导读:你正在今日文学网阅读的是吴承恩的《西游记》第二十九回脱难江流来国土承恩八戒转山林。主要内容:唐僧在洞内见一妇人,自称是宝象国公主,十三年前被黄袍怪摄来。公主劝老妖释入唐僧。 行到宝象国唐僧向国王递上妇人所托书信。国王恳求八戒、沙僧降妖救女,二人应诺,往战黄袍怪,八戒难敌,钻入草丛躲藏。沙僧被黄袍怪擒入洞中。

2024-12-03  分类:百科  浏览:298次


西游记第二十八回 花果山群妖聚义 黑松林三藏逢魔

西游记第二十八回 主要内容:悟空回到花果山,播风扬石,砸死上山捕猴的众猎户。 唐僧误入妖穴被擒。八戒、沙僧与与老妖黄袍怪在半空中乱杀。

2024-12-03  分类:百科  浏览:302次


西游记第二十七回 尸魔三戏唐三藏 圣僧恨逐美猴王

西游记第二十七回主要内容:唐僧遣悟空去化斋饭。山中妖精,一变美女,二变老妇,三变老翁,迷惑唐僧,悟空打死妖精,唐僧大怒,逐走悟空。

2024-12-03  分类:百科  浏览:308次


西游记第二十六回 孙悟空三岛求方 观世音甘泉活树

导读:你正在今日文学网阅读的是吴承恩的《西游记》二十六回孙悟空三岛求方观世音甘泉活树。主要内容:悟空为医活果树,拜见观音,观音与悟空同来,复活果树。镇元子开人参果会,款待观音、诸仙与唐僧师徒,并与悟空结为兄弟。

2024-12-03  分类:百科  浏览:287次


西游记第二十五回 镇元仙赶捉取经僧 孙行者大闹五庄观

西游记第二十五回主要内容:悟空难忍毁骂,将树弄倒。二童设计把唐僧师徒锁入正殿。师徒们夜间逃走。镇元子纵云赶上,以袍袖将唐僧一行尽笼而回。夜间师徒再次逃出。又被镇元子命将悟空下锅油炸,却被悟空以石狮变成自身将锅砸穿。

2024-12-03  分类:百科  浏览:307次


西游记第二十四回 万寿山大仙留故友 五庄观行者窃人参

西游记第二十四回主要内容:万寿山庄观中有树结人参果,吃后长后不老。观主镇元子都二童子以人参果款待唐僧。

2024-12-03  分类:百科  浏览:304次


西游记第二十三回 三藏不忘本 四圣试禅心

西游记第二十三回主要内容:骊山老母与观音、普贤,文殊菩萨变成母女四人,意在试探四众禅心是否坚固,唯八戒禅心不坚被捆。

2024-12-03  分类:百科  浏览:326次