php中的繼承

php中的繼承與其他OOP的編程差不多

<?php
class Person
{
	protected $name;//可用於子類繼承的屬性
	//構造函數
	function __construct($name)
	{
		$this->name = $name;//實例化時賦值變量
		echo "我的名字是{$this->name}<br>";//構造函數執行的代碼
	}
}
class Student extends Person
{
	private $school;//屬於子類私有的屬性
	function __construct($name,$school)//重構父類的構造方法
	{
		parent::__construct($name);//執行父類的構造方法
		$this->school = $school;
		echo "我就讀於{$this->school}<br>";
	}
}
$p1 = new Student("張三","清華");
/*
我的名字是張三
我就讀於清華
*/
?>
只要子類中實現的方法與父類中的方法重名,那麼子類縮寫的方法就會覆蓋掉父類,這時我們如果要執行父類的方法 ,就需要使用parent::方法名來執行父類的方法,如果該方法有參數,也需要將參數存入;而且要注意,子類繼承的方法或者屬性的權限,不能低於父類的,例如父類的是public那麼子類只能繼承爲public,父類是protected,子類可以繼承爲public,但是不能繼承爲private。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章