用class關(guān)鍵字創(chuàng)建兩個(gè)類,Son類繼承Parents類:
class Parents{
}
class Son extends Parents {
}
如果子類沒定義構(gòu)造函數(shù),初始化子類時(shí)會自動(dòng)調(diào)用父類的構(gòu)造函數(shù),并且函數(shù)里面可以調(diào)用子類的公共屬性,但是如果調(diào)用子類的private私有屬性則不可以,另外由 protected 所定義的類成員則可以被其所在類的子類和父類訪問
class Parents{
function __construct(){echo $this->name;}
}
class Son extends Parents {
var name = 'lin';
}
$Son = new Son();
如果子類定義了構(gòu)造函數(shù)或者其他與父類同名的函數(shù),會把父類函數(shù)覆蓋,想調(diào)用父類該函數(shù)可以用parent:::func()來調(diào)用。如果父類函數(shù)用了final關(guān)鍵字,子類重定義該函數(shù)時(shí)就會報(bào)錯(cuò)。