<?php
/**
* 1、父类中public protectde的属性和方法被继承,private 的属性和方法不被继承
* 2、子类只能继承一个父类,但是可以多层继承
* 3、默认父类的构造方法不会被执行
*/
header("content-type:text/html;charset=utf-8");
class Stu{
public $name;
protected $age = 10;
private $grade = 89;
public function showInfo(){
echo $this->name;
}
}
class Pupil extends Stu{
public function showAge(){
echo $this->age;
}
public function showGrade(){
// echo $this->grade; //会报错
}
public function tesing(){
echo "小学生考试...";
}
}
/*
* 1、父类中public protectde的属性和方法被继承,private 的属性和方法不被继承
* */
$stu1 = new Pupil();
$stu1->name = "小雨";
$stu1->showInfo(); //输出 小雨
$stu1->showAge(); //输出 10
$stu1->showGrade(); //致命错误
/*
* 2、子类只能继承一个父类,但是可以多层继承
* */
class A{
public $n1 = 10;
}
class B extends A{
public $n2 = "小雨";
}
class C extends B{
}
$p1 = new C();
echo $p1->n1; //输出10
/*
* 3、默认父类的构造方法不会被执行
* */
class D{
public function __construct(){
echo "D__construct";
}
}
class E extends D{
public function __construct(){
echo "E__construct";
//如果非要调用父类的构造方法,可以在这里调用
//D::__construct(); //输出 D__construct
//另一种写法
// parent::__construct(); //输出 D__construct
}
}
$e = new E(); //输出 E__construct
php继承详解
最新推荐文章于 2023-10-11 08:00:18 发布