批改状态:合格
老师批语:总结的好
<?php
//子类的三类应用场景
//先创建父类
namespace _k;
class kk{
public $name;
public $v;
public function __construct($name,$v)
//魔术方法,构造函数,括号内变量值(参数值)由外部传入
{
$this->name=$name;
$this->v=$v;
}
public function getInfo()
{
return '名字:'.$this->name.',速度:'.$this->v.'m/s';
}
}
//子类.1.代码复用,继承父类中的成员(代码)
class k1 extends kk
{
}
$k1= new k1('小红',3);
echo $k1->getInfo() ;
echo'<hr>';
//exit;
//2.功能扩展
class k2 extends k1
{
public $t;
public function __construct($name,$v,$t)
{
//引用父类构造中使用的代码
parent::__construct($name,$v);
$this->t=$t;
}
//子类中添加一个新方法,计算路程
public function add()
{
return ($this->v*$this->t);
}
}
$k2= new k2('小明',5,2);
echo $k2->name.'2秒的路程是:'.$k2->add();
echo '<hr>';
//3.方法重写
class k3 extends k2
{
//重写add
public function add()
{
return ($this->v*$this->t*0.8);
}
}
$k3=new k3('小蓝',7,2);
echo $k3->name.'2秒的路程是:'.$k3->add();点击 "运行实例" 按钮查看在线实例

访问限制符:
<?php
//三种访问限制符,public,protected,private
namespace _0930;
class k4
{
public $name;//名字,公开
public $department;//部门,公开
protected $age;//年龄,受保护
private $position;//职位,私有
public function __construct($name,$department,$age,$position)
{
$this->name=$name;
$this->department=$department;
$this->age=$age;
$this->position=$position;
}
public function getAge()
{
return $this->department==='分部'?$this->age:'无权查看';
}
public function getPosition()
{
return $this->department==='总部'?$this->position:'无权查看';
}
}
$obj= new k4('小唐','分部',22,'分部大佬');
echo $obj->name;
echo '<br>';
echo $obj->department;
echo'<br>';
echo $obj->getAge();
echo'<br>';
echo $obj->getPosition();
//在子类中,显示区别
class kkk extends k4
{
public function display()
{
//return $this->name;//公开
//return $this->department;//公开
//return $this->age;//受保护
return $this->position;//私有
}
}
echo '<hr>';
$kkk = new kkk('小飞','总部',666,'总部头头');
echo $kkk->name;
echo '<br>';
echo $kkk->department;
echo'<br>';
echo $kkk->getAge();
echo'<br>';
echo $kkk->getPosition();
echo'<hr>';
echo $kkk->display();点击 "运行实例" 按钮查看在线实例
相关截屏:

子类公开:

子类受保护:

子类私有:

三种访问限制符就可以类比与人与人之间的相处,和陌生人谈公开内容(public),和好朋友说与自己相关内容(protected),和父母说私人问题(private),子类就相当于自己的儿子,父母的私事不会和儿子说(private),但是作为家庭一份子,他可以知道我的过往(protected)。
子类的应用场景也是一样,可以子承父业,可以再拓市场,也可以走自己的路(1.代码复用,继承父类中的成员(代码)2.功能扩展3.方法重写)
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号