继承,访问修饰符,parent,self,this关键字

基本概念
将一个类A中的特性信息,传递到另一个类B中,此时就称为:
B继承A
A派生出B;
基本语法:
在这里插入图片描述
几个基本概念
继承:一个类从另一个已有的类获得其特性,称为继承。
派生:从一个已有的类产生一个新的类,称为派生。
父类/子类:已有类为父类,新建类为子类。父类又可以称为“基类”,上级类,子类又称为派生类,下级类,
单继承:一个类只能从一个上级类继承其特性信息。PHP和大多数面向对象的语言都是单继承模式。C++是多继承。
扩展:在子类中再来定义自己的一些新的特有的特性信息(属性,方法和常量)。没有扩展,继承也就没有意义了。
访问控制修饰符
形式:
class 类名{
访问控制修饰符 属性或方法定义;
}

有3个访问修饰符:
public公共的:在所有位置都可访问(使用)。
protected受保护的:只能再该类内部和该类的子类或父类中访问(使用)。
private私有的:只能在该类内部访问(使用)。

他们的作用是:用来“限制”其所修饰的成员的“可访问性”;
可访问性:
就是在代码中使用这样两种语法形式的“有效性”(合法性):
对象->实例属性或方法;
类::静态属性或方法;

访问控制修饰符,需要结合使用该语法形式的所在位置,才能确定是否可访问。

有3个访问位置(范围):
某个类的内部:
某个类的继承类的内部:
某个类的外部:

则,他们结合起来的可访问性如下:
在这里插入图片描述
总结说明:
1,public修饰的成员,哪里都能访问;
2,类的内部,可以访问任何级别的成员;
3,public具有最宽泛的可访问性;private具有最狭小的可访问性;protectd则居中;
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
parent关键词
parent表示“父母”的意思,在面向对象语法中,代表“父类”
——本质上就是代表父类这个“类”,而不是父类的“对象”;

其使用方式为:
parent::属性或方法; //通常是静态属性或静态方法,但有时候可能是实例属性或实例方法;
在这里插入图片描述
在这里插入图片描述
对比相关的2个词:
在这里插入图片描述
另外;如果一个属性在父类中访问范围为private,那么他在子类中会被显示没有被继承,但是如果子类继承的父类方法里有调用了这个属性,那么还是可以显示使用出来
举例:

<?php
class A{
	public $p1=1;
	protected $p2=2;
	private $p3=3;
	public function showInfo(){
		echo "<br/>".$this->p1;
		echo "<br/>".$this->p2;
		echo "<br/>".$this->p3;
	}
}
class B extends A{
	public function showInfo2(){
		echo "<br/>".$this->p3;
	}
}
$a=new B();
echo $a->p1."<br>";
echo $a->showInfo2();
?>

显示结果
在这里插入图片描述

<?php
class A{
	public $p1=1;
	protected $p2=2;
	private $p3=3;
	public function showInfo(){
		echo "<br/>".$this->p1;
		echo "<br/>".$this->p2;
		echo "<br/>".$this->p3;
	}
}
class B extends A{
	public function showInfo2(){
		echo "<br/>".$this->p3;
	}
}
$a=new B();
echo $a->p1."<br>";
echo $a->showInfo();
?>

显示结果
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值