李涛自留地
回到顶部
首页 > php学习 > PHP子类继承父类学习笔记 PHP子类继承父类实例代码

PHP子类继承父类学习笔记 PHP子类继承父类实例代码

文章目录

PHP的面向对象有三大特性:封装性、继承性和多态性,而在PHP面向对象的类中,子类可以继承父类的属性及方法。在实际的项目开发中,我们需要很多的类文件,分门别类的写各种类。但一些复用性很高的类,我们想在其他类文件中也调用,这就涉及到写类文件时,让子类也继承父类的属性和方法。

PHP子类继承父类的方法

子类可以继承父类所有的成员变量(类的属性)和成员方法,包括父类的构造方法。当我们创建了一个子类并继承了父类的时候,PHP会先在子类中查找子类下是否有自己的构造方法。如果子类有自己的构造方法,那么PHP会首先调用子类自己的构造方法,如果子类没有自己的构造方法,那么就会调用父类的构造方法,这就是PHP子类继承父类。

当我们在实际项目开发中,需要子类继承父类的属性和方法的时候,我们一般会在定义子类的时候使用extends关键词来声明继承父类,这样就可以让子类继承父类的所有成员变量和成员方法了。

PHP子类继承父类的实例

<?php

//创建一个体育的父类
    class sports{
        public $name;
        public $age;
        public $height;
        //创建父类的构造方法
        public function __construct($name,$age,$height){
            $this->name=$name;
            $this->age=$age;
            $this->height=$height;
        }
        function show(){
            echo '我是父类中的方法';
        }

    }

//创建一个足球的子类并继承父类中的方法,继承父类的关键词是extends
    class football extends sports{
        function show(){
            if($this->height>160 and $this->age>16){
                return $this->name.'符合踢足球的要求';
            }else{
                return $this->name.'不符合踢足球的要求';
            }
        }
    }

    //创建一个举重的子类Weightlifting
    class Weightlifting extends sports{
        public $weight;
        function __construct($name,$weight)
        {
            $this->name=$name;
            $this->weight=$weight;
        }
        function show(){
            if($this->weight>150){
                return $this->name.'你的体重为'.$this->weight.'斤,你适合举重项目';
            }else{
                return $this->name.'你的体重为'.$this->weight.'斤,你太轻了,不适合举重项目';
            }
        }
    }

    //$tiyu = new sports('aa','18','189','男');
    $zuqiu = new football('小刘','18','189');
    echo $zuqiu->show();
    echo '<hr>';
    $juzhong = new Weightlifting('小李','158');
    echo $juzhong->show();

?>
PHP子类继承父类学习笔记 PHP子类继承父类实例代码

在上述的代码块中,子类football使用extends继承了父类sports,在football子类中没有自己的构造方法,所以继承使用了父类sports构造方法中的成员变量和show()方法。

而在子类Weightlifting中新增了一个成员变量,并且自己有构造方法,而name是继承了父类的成员变量,最后使用的确实自己的构造方法,最后实例化调用类的时候,只传递了两个参数就可以成功输出这个类,而子类football则必须按照父类中的构造函数传递三个参数,否则就会报错。

以上通过对PHP子类继承父类的简单记载和一个PHP子类继承父类的实例代码,简单介绍了如何使用PHP子类来继承父类,后续将记载更多关于PHP面向对象的学习笔记及实例代码。

若非作者标注皆为李涛自留地原创文章,转载或复制请以超链接形式并注明出处。