新聞中心
本文操作環(huán)境:Windows10系統(tǒng)、php7.1版、Dell G3電腦。

創(chuàng)新互聯(lián)專注于王益企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè),商城網(wǎng)站建設(shè)。王益網(wǎng)站建設(shè)公司,為王益等地區(qū)提供建站服務(wù)。全流程定制設(shè)計(jì),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
抽象類往往用來表征對問題領(lǐng)域進(jìn)行分析、設(shè)計(jì)中得出的抽象概念,是對一系列看上去不同,但是本質(zhì)上相同的具體概念的抽象。
抽象類是不完整的,它只能用作基類。在面向?qū)ο蠓椒ㄖ?,抽象類主要用來進(jìn)行類型隱藏和充當(dāng)全局變量的角色。
在面向?qū)ο蠓椒ㄖ校橄箢愔饕脕磉M(jìn)行類型隱藏。構(gòu)造出一個固定的一組行為的抽象描述,但是這組行為卻能夠有任意個可能的具體實(shí)現(xiàn)方式。這個抽象描述就是抽象類,而這一組任意個可能的具體實(shí)現(xiàn)則表現(xiàn)為所有可能的派生類。模塊可以操作一個抽象體。由于模塊依賴于一個固定的抽象體,因此它可以是不允許修改的;同時,通過從這個抽象體派生,也可擴(kuò)展此模塊的行為功能
實(shí)例操作如下:
name = $nameStr;
}
abstract public function work();
public function work1(){
echo "$this->name
";
}
//function __destruct(){}
}
class Managers extends Employees{
public function __construct($nameStr){
parent::__construct($nameStr);
}
/*public function work(){//如果子類沒有擴(kuò)展(重寫)抽象類的抽象方法,會產(chǎn)生致使錯誤。
echo "$this->name is working
";
}*/
}
//$obj1 = new Employees();//創(chuàng)建抽象類對象時,會產(chǎn)生一個致使錯誤。
$obj2 = new Managers('e2');
//$obj2->work();
運(yùn)行上述代碼,會提示如下錯誤信息:
Fatal error: Class Managers contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (Employees::work) in D:\phproot\test\ClassDemo.php on line 26
將錯誤提示位置及末尾位置代碼注釋刪除后,改為如下代碼:
name = $nameStr;
}
abstract public function work();
public function work1(){
echo "$this->name
";
}
//function __destruct(){}
}
class Managers extends Employees{
public function __construct($nameStr){
parent::__construct($nameStr);
}
public function work(){//如果子類沒有擴(kuò)展(重寫)抽象類的抽象方法,會產(chǎn)生致使錯誤。
echo "$this->name is working
";
}
}
//$obj1 = new Employees();//創(chuàng)建抽象類對象時,會產(chǎn)生一個致使錯誤。
$obj2 = new Managers('e2');
$obj2->work();
測試運(yùn)行結(jié)果:
e2 is working
網(wǎng)站欄目:php的抽象類用法是什么
URL分享:http://m.5511xx.com/article/dpoijgj.html


咨詢
建站咨詢
