天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

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

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

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

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

普通做法

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

以上結(jié)果輸出:

學生正在上課
職員正在上班

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

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

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

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

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

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

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

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

主站蜘蛛池模板: 伊人亚洲AV久久无码精品 | 国产 日韩 欧美 高清 亚洲 | 娇小萝被两个黑人用半米长 | 国产精品久久久久久久人热 | 一个人看的www视频动漫版 | 午夜亚洲动漫精品AV网站 | 曰批视频免费40分钟不要钱 | 99精品免费在线观看 | 国产久久re6免费热在线 | 99久久99久久精品 | 无码一区二区三区 | 18国产精品白浆在线观看免费 | 中文字幕视频在线免费观看 | 男女做爽爽爽视频免费软件 | 国产人妻麻豆蜜桃色精 | 国产精品资源网站在线观看 | 久久9精品区-无套内射无码 | 久久精品国产免费中文 | 久久亚洲黄色 | 伊人久久综合热青草 | 国产极品美女视频福利 | 中文字幕久久熟女人妻AV免费 | 日本无码色哟哟婷婷最新网站 | 女人一级毛片免费观看 | 国产女人与黑人在线播放 | 亚洲手机在线人成视频 | 暖暖日本手机免费完整版在线观看 | 亚洲中文字幕无码一去台湾 | 俄罗斯孩交精品 | 亚洲乱亚洲乱妇13p 亚洲乱色视频在线观看 | 娇妻中日久久持久久 | 久9青青cao精品视频在线 | 有码 亚洲 制服 国产 在线 | 国产精品99 | 花蝴蝶高清在线视频免费观看 | 无码AV动漫精品一区二区免费 | 无码欧美喷潮福利XXXX | 老司机深夜福利ae 入口网站 | 日韩亚洲国产中文字幕欧美 | china野外18:19| 国产日韩欧美高清免费视频 |