<?php
//类的继承:类的第一特点
//功能扩展,方法重写
//继承只能单线继承 不能继承多个父类
//继承方便扩展,维护
class Demo7{
public $name = '杨咪咪';
public $age;
public function __construct($name,$age)
{
$this->name = $name;
$this->age = $age;
}
public function get1(){
return '姓名:'.$this->name.'年龄:'.$this->age;
}
}点击 "运行实例" 按钮查看在线实例
//继承的关键词:extends 继承后自己就变成子类
//两个子类 继承一个父类,不要把它当成现实中的财产继承。不会一个子类继承一般的情况
class s2 extends Demo7{
public $wages;
//子类继承父类 要把父类的传值也要加上
public function __construct($name,$age,$wages)
{
//获取父类的成员关键词 parent::
//咱们说$this 是调用本类的。那能调用父类的吗
//$this 可以调用父类的方法,函数
//parent::会在父类和子类重名的时候使用,用来调用父类的方法
parent::__construct($name,$age);
echo $this->name = $name;
//当子类里没有get1,就可以用$this调用。如果子类有get1,父类有get1,调用子类的get1,就
//this->get1(),调用父类的get1 用parent::get1();
echo $this->get1();
$this->wages = $wages;
}
public function total(){
return '工资:'.$this->wages*12;
}
}
$b= new s2('杨幂',31,10);
echo $b->total();点击 "运行实例" 按钮查看在线实例
//echo '<br>--------------------<br>';
//
////改造效果
class s2 extends Demo7{
public $wages;
//子类继承父类 要把父类的传值也要加上
public function __construct($name,$age,$wages)
{
//获取父类的成员关键词 parent::
parent::__construct($name,$age);
$this->wages = $wages;
echo $this->get1();
echo ' 工资: '.$wages*12;
}
}
$b= new s2('杨幂',31,10);
class s3 extends s2{
}
$a = new s3('杨幂',31 ,10);点击 "运行实例" 按钮查看在线实例
// 注意 this是指向当前对象,也包括继承的,但是会有相同的方法名,this是先找本类,在上父类
// parent是指向父类,重写时,使用到。或者父类和子类,有相同方法时,才使用。
// 动物:(鱼类)
// 类:
// 成员属性:是动物的特征
// 水里
// 鳞片
// 眼
// 嘴
// 成员方法:是动物的动作
// 游泳
// 吃东西
// 繁殖
// 汽车
// 成员属性:
// 座椅
// 轮胎
// 外壳
// 成员方法:
// 打火(发动汽车)
// 座椅调节
// 轮胎跑动
//
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号