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();
?>
在上述的代码块中,子类football使用extends继承了父类sports,在football子类中没有自己的构造方法,所以继承使用了父类sports构造方法中的成员变量和show()方法。
而在子类Weightlifting中新增了一个成员变量,并且自己有构造方法,而name是继承了父类的成员变量,最后使用的确实自己的构造方法,最后实例化调用类的时候,只传递了两个参数就可以成功输出这个类,而子类football则必须按照父类中的构造函数传递三个参数,否则就会报错。
以上通过对PHP子类继承父类的简单记载和一个PHP子类继承父类的实例代码,简单介绍了如何使用PHP子类来继承父类,后续将记载更多关于PHP面向对象的学习笔记及实例代码。