四虎精品视频-四虎精品成人免费网站-四虎黄色网-四虎国产视频-国产免费91-国产蜜臀97一区二区三区

實(shí)例講解PHP面向?qū)ο笾鄳B(tài)

什么是多態(tài)性?

多態(tài)性是繼數(shù)據(jù)庫(kù)抽象和繼承后,面向?qū)ο笳Z(yǔ)言的第三個(gè)特征。多態(tài)即多種形態(tài),具有表現(xiàn)多種形態(tài)的能力特征。在面向?qū)ο笾斜硎靖鶕?jù)對(duì)象的類型以不同方式處理。多態(tài)性允許每個(gè)對(duì)象以適合自身的方式去響應(yīng)共同的消息。多態(tài)性增強(qiáng)了軟件的靈活性和重用性。

如我們創(chuàng)建一個(gè)doing()方法,如果是學(xué)生則打印上課,如是公司職員則打印上班。

普通做法

使用if判斷
復(fù)制代碼 代碼如下:
/**
 * php多態(tài)性
 * 瓊臺(tái)博客
 */
 
// 定義學(xué)生類
class student{
    public function cla(){
            echo "學(xué)生工正在上課!<br />";
    }
}
 
// 定義職員類
class office{                             
        public function Wor(){
            echo "職員正在上班!<br />";
        }
}
 
// 判斷對(duì)象類型方法
function doing($obj){
        if($obj instanceof student){
            $obj->cla();
        }elseif($obj instanceof office){
            $obj->wor();
        }else{
            echo "沒(méi)有這個(gè)對(duì)象!";
        }
}
 
doing(new student()); // 學(xué)生正在上課
doing(new office());  // 職員正在上班

以上結(jié)果輸出:

學(xué)生正在上課
職員正在上班

這種普通方法有個(gè)缺點(diǎn),就是對(duì)象如果很多,那么if..else..很長(zhǎng),不靈活。
 
多態(tài)性做法

定義一個(gè)公共抽象方法,所有子類繼承它。
復(fù)制代碼 代碼如下:
/**
 * php多態(tài)性
 * 瓊臺(tái)博客
 */
 
// 定義一個(gè)公共類
class pub{
    protected function working(){
        echo "本方法需要在子類中重載!";
    }
}
 
// 定義學(xué)生類,繼承公共類pub
class student extends pub{
    public function working(){
        echo "學(xué)生工正在上課!<br />";
    }
}
 
// 定義職員類,繼承公共類pub
class office extends pub{
        public function working(){
        echo "職員正在上班!<br />";
        }
}
 
// 判斷對(duì)象類型方法
function doing($obj){
        if($obj instanceof pub){
            $obj->working();
        }else{
            echo "沒(méi)有這個(gè)對(duì)象!";
        }
}
 
doing(new student()); // 學(xué)生正在上課
doing(new office());  // 職員正在上班

這就是多態(tài)的特性,靈活重用。
 
其它做法

從多態(tài)性的實(shí)現(xiàn)方式來(lái)看,無(wú)非就規(guī)范了每個(gè)類都要重載父類的一個(gè)方法,從而達(dá)到統(tǒng)一效果。而我們?cè)诙x類的時(shí)候,自行加上統(tǒng)一的方法也可行。因此以上例子也可以這么實(shí)現(xiàn):
復(fù)制代碼 代碼如下:
/**
 * php多態(tài)性
 * 瓊臺(tái)博客
 */
 
// 定義學(xué)生類
class student{
    // 定義統(tǒng)一的方法pub
    public function pub(){
        echo "學(xué)生工正在上課!<br />";
    }
}
 
// 定義職員類
class office{
    // 定義統(tǒng)一的方法pub
        public function pub(){
        echo "職員正在上班!<br />";
        }
}
 
// 判斷對(duì)象類型方法
function doing($obj){
    if($obj){
        // 調(diào)用類的統(tǒng)一方法
            $obj->pub();
    }else{
        echo '沒(méi)有這個(gè)對(duì)象'; 
    }
}
 
doing(new student()); // 學(xué)生正在上課
doing(new office());  // 職員正在上班

當(dāng)然,以上的例子不能說(shuō)明多態(tài)性就能使用這樣的方式搞定,畢竟多態(tài)性在復(fù)雜的程序設(shè)計(jì)中,它能有效的達(dá)到靈活重用的特性。

多態(tài)性也可以理解為一種程序設(shè)計(jì)方式,而程序設(shè)計(jì)最終目的無(wú)非就是:靈活,多態(tài),重用,高效。

php技術(shù)實(shí)例講解PHP面向?qū)ο笾鄳B(tài),轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 火舞俪人 电影| 章子怡 罗曼蒂克消亡史| 我记得你| 电视剧狂飙演员名单| 美国电影《黑吃黑》在线观看| 女神学生| 血疑电视剧| 忏悔三昧念3遍| 美丽交易| 竹内纱里奈兽皇番号| 笔仙2大尺度床戏| 高嘉慧| urban legend| 张柏芝照片| 台湾卫视| 永恒族 电影| 流萤美图| 三年级片| 出彩中国人撒贝宁精忠报国15分钟| 塔木德全文阅读免费| 黄视频免费网站| 希崎| 闵智贤| 大学英语综合教程1答案| 红海行动2虎鲸行动在线播放国语| 纵情四海| 林柒予| 高允贞| 任你干视频| 铁血使命电视剧演员表| 小数加减法100道题| 台湾电影网| 王牌空战| 吴婷个人资料及照片| 所求皆所愿| 林繁男| 大学英语精读3第三版全书答案| 欧美日韩欧美日韩| 彭丹丹最惊艳的电影| 我和我的父辈 电影| jagger|