博主信息
博文 23
粉丝 0
评论 0
访问量 24260
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
实例演示子类的三个应用场景, 实例演示类成员的三种访问限制符的使用场景-0930
风吹的博客
原创
815人浏览过

实例

<?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();

运行实例 »

点击 "运行实例" 按钮查看在线实例

子类应用.png

访问限制符:

实例

<?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();

运行实例 »

点击 "运行实例" 按钮查看在线实例

相关截屏:

存.png

子类公开:

子类公开.png

子类受保护:

子类受保护.png

子类私有:

子类私有.png

三种访问限制符就可以类比与人与人之间的相处,和陌生人谈公开内容(public),和好朋友说与自己相关内容(protected),和父母说私人问题(private),子类就相当于自己的儿子,父母的私事不会和儿子说(private),但是作为家庭一份子,他可以知道我的过往(protected)。

子类的应用场景也是一样,可以子承父业,可以再拓市场,也可以走自己的路(1.代码复用,继承父类中的成员(代码)2.功能扩展3.方法重写)

批改状态:合格

老师批语:总结的好
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学