中山php|最優(yōu)網(wǎng)絡(luò) :中山做網(wǎng)站 中山php建站
最優(yōu)良人
Posts Tagged With: 面向?qū)ο?/h2>
PHP面向?qū)ο笾^承
2011/08/14 at 02:26 » Comments (262)
用class關(guān)鍵字創(chuàng)建兩個類,Son類繼承Parents類:
class Parents{
}
class Son extends Parents {
}
如果子類沒定義構(gòu)造函數(shù),初始化子類時會自動調(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ù)時就會報錯。
more »
PHP面向?qū)ο笾橄箢惻c接口
2011/08/14 at 02:25 » Comments (262)
定義抽象類使用abstract關(guān)鍵字,主要用于定義規(guī)范,其函數(shù)必須被繼承的子類全部重載后才能實例化,重載不全會報錯
abstract class AbClass{
abstract function a1();
abstract function a2();
}
class AbSonClass extends AbClass{
//全部重載父類方法
function a1(){
echo "抽象方法1";
}
function a2(){
echo "抽象方法2";
}
}
接口和抽象類非常相似,接口的引用,可以多引用,通過關(guān)鍵字implements 引用,全部為抽象方法,在引用它的子類里面也必須全部覆蓋所有方法
interface InClass{
...more »
2011/08/14 at 02:26 » Comments (262)
用class關(guān)鍵字創(chuàng)建兩個類,Son類繼承Parents類: class Parents{ } class Son extends Parents { } 如果子類沒定義構(gòu)造函數(shù),初始化子類時會自動調(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ù)時就會報錯。 more »2011/08/14 at 02:25 » Comments (262)
定義抽象類使用abstract關(guān)鍵字,主要用于定義規(guī)范,其函數(shù)必須被繼承的子類全部重載后才能實例化,重載不全會報錯 abstract class AbClass{ abstract function a1(); abstract function a2(); } class AbSonClass extends AbClass{ //全部重載父類方法 function a1(){ echo "抽象方法1"; } function a2(){ echo "抽象方法2"; } } 接口和抽象類非常相似,接口的引用,可以多引用,通過關(guān)鍵字implements 引用,全部為抽象方法,在引用它的子類里面也必須全部覆蓋所有方法 interface InClass{ ...more »