Blogger Information
Blog 23
fans 0
comment 0
visits 19939
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
实例演示子类的三个应用场景, 实例演示类成员的三种访问限制符的使用场景-0930
风吹的博客
Original
690 people have browsed it

实例

<?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.方法重写)

Correction status:qualified

Teacher's comments:总结的好
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments