首页 > 代码库 > 10.25 (上午) 开课一个月零二十一天 (继承多态)

10.25 (上午) 开课一个月零二十一天 (继承多态)

//面对对象三大特性
//封装
//目的:让类更安全
//做法:成员变量变为私有的,通过方法来间接操作成员变量,在方法里面加限制条件

//继承
//概念:子类可以继承父类的一切
//方法重写:在子类里面对父类的方法进行重写
//特点:单继承:一个子类只能有一个父类,一个父类可以派生出多个子类
//override:重写
//overload:重载,编译多态
class Ren
{
	public $name;
	function say()
	{
		echo $this->name."正在讲话!";
	}
}

class China extends Ren
{
	public $dizhi;
	
	function say()
	{
		parent::say(); //调用父类的say方法
		
		echo "中国人说话";
	}
}
class America extends Ren
{
	function say()
	{
		echo "speak";
	}
}

$c = new China();
$c->say();

$a = new America();
$a->say();


//多态(运行多态)
//概念:当父类引用指向子类实例,由于子类里面对父类的方法进行了重写,父类引用在调用该方法的时候表现出的不同状态。
//条件:1.必须发生在继承下
//2.必须重写父类方法
//3.父类引用调用该方法

//如果一个方法需要一个父类参数,可以给一个子类对象

 

10.25 (上午) 开课一个月零二十一天 (继承多态)