龙空技术网

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

站长世界 72

前言:

现在大家对“javascript继承性的例子”都比较讲究,大家都需要了解一些“javascript继承性的例子”的相关知识。那么小编同时在网上收集了一些关于“javascript继承性的例子””的相关文章,希望小伙伴们能喜欢,姐妹们一起来学习一下吧!

我们在前面的时候讲过《面向对象编程的特点》时,面向对象编程具有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的继承和多态就讲解完毕了。

标签: #javascript继承性的例子 #php 封装继承多态 #php封装继承多态的理解 #php用哪几种形式实现多态 #php调用父类