欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PHP面向?qū)ο蟪绦蛟O(shè)計(jì)之多態(tài)性的應(yīng)用示例

 更新時(shí)間:2018年12月19日 09:51:21   作者:天涯海角路  
這篇文章主要介紹了PHP面向?qū)ο蟪绦蛟O(shè)計(jì)之多態(tài)性的應(yīng)用,結(jié)合具體實(shí)例形式分析了php面向?qū)ο蟪绦蛟O(shè)計(jì)中關(guān)于多態(tài)性的概念、原理、相關(guān)使用技巧及注意事項(xiàng),需要的朋友可以參考下

本文實(shí)例講述了PHP面向?qū)ο蟪绦蛟O(shè)計(jì)之多態(tài)性的應(yīng)用。分享給大家供大家參考,具體如下:

多態(tài)是面向?qū)ο蟮娜筇匦灾谐庋b和繼承之外的另一重要特性。它展現(xiàn)了動(dòng)態(tài)綁定的功能,也稱為“同名異式”。多態(tài)的功能可讓軟件在開發(fā)和維護(hù)時(shí),達(dá)到充分的延伸性。事實(shí)上,多態(tài)最直接的定義是讓具有繼承關(guān)系的不同類對(duì)象,可以對(duì)相同名稱的成員函數(shù)調(diào)用,產(chǎn)生不同反應(yīng)效果。所謂多態(tài)性就是指一段程序能夠處理多種類型對(duì)象的能力,在PHP中,多態(tài)值指的就是方法的重寫。方法重寫是指一個(gè)子類中可以重新修改父類中的某些方法,使其具有自己的特征。重寫要求子類的方法和父類的方法名稱相同,這可以通過聲明抽象類或是接口來規(guī)范。

我們通過計(jì)算機(jī)USB設(shè)備的應(yīng)用來介紹一下面向?qū)ο笾械亩鄳B(tài)性,目前USB設(shè)置的種類僅我們自己用過的我想就有十幾種吧。例如USB鼠標(biāo)、USB鍵盤、USB存儲(chǔ)設(shè)備等,這些計(jì)算機(jī)的外部設(shè)備都是通過USB接口連接到計(jì)算機(jī)以后,被計(jì)算機(jī)調(diào)用并啟動(dòng)運(yùn)行的。也就是計(jì)算機(jī)正常運(yùn)行的同時(shí),沒插入一種不同USB設(shè)備,就為計(jì)算機(jī)擴(kuò)展一樣功能,這正是我們所說的多態(tài)特征。那么為什么每個(gè)USB設(shè)備不一樣,但都可以被計(jì)算機(jī)應(yīng)用呢?那是因?yàn)槊總€(gè)USB設(shè)置都要遵守電腦USB接口的開發(fā)規(guī)范,都具有相同的能被計(jì)算機(jī)加載到并啟用的方法,但運(yùn)行各自相應(yīng)的功能。這也正是我們對(duì)多態(tài)的定義,假設(shè)我們有一個(gè)主程序已經(jīng)開發(fā)完成,需要后期由其他開發(fā)人員為其擴(kuò)展一些功能,但需要在不改動(dòng)主程序的基礎(chǔ)上就可以加載到這些擴(kuò)展的功能模塊,其實(shí)也就是為程序開發(fā)一些插件。這就需要在主程序中需要為擴(kuò)展的插件程序?qū)懞媒涌谝?guī)范,然后每個(gè)插件只有按照規(guī)范去實(shí)現(xiàn)自己的功能,才能被主程序應(yīng)用到。在計(jì)算機(jī)中應(yīng)用USB設(shè)備的程序設(shè)計(jì)如下所示:

<?php
//定義一個(gè)iUSB接口,讓每個(gè)USB設(shè)備都遵守這個(gè)規(guī)范
interface iUSB{
function run();
}
class Computer{
//計(jì)算機(jī)類中的一個(gè)方法可以應(yīng)用任何一種USB設(shè)備
function useUSB($usb){
$usb->run();
}
}
?>

下面的代碼根據(jù)USB接口定義的規(guī)范,實(shí)現(xiàn)了USB鍵盤、USB鼠標(biāo)和USB存儲(chǔ)三個(gè)設(shè)備,當(dāng)然可以去實(shí)現(xiàn)更多的USB設(shè)置,都按照自己設(shè)備的功能重寫了run()方法,所以插入計(jì)算機(jī)啟動(dòng)運(yùn)行后每個(gè)USB設(shè)備都有自己的形態(tài)。代碼如下所示:

<?php
//擴(kuò)展一個(gè)USB鍵盤設(shè)備,實(shí)現(xiàn)usb接口
class Ukey implements iUSB {
function run(){
echo "運(yùn)行USB鍵盤設(shè)備<br>";
}
}
//擴(kuò)展一個(gè)USB鼠標(biāo)設(shè)備,實(shí)現(xiàn)usb接口
class Umouse implements iUSB {
function run(){
echo "運(yùn)行USB鼠標(biāo)設(shè)備<br>";
}
}
//擴(kuò)展一個(gè)USB存儲(chǔ)設(shè)備,實(shí)現(xiàn)usb接口
class Ustore implements iUSB {
function run(){
echo "運(yùn)行USB存儲(chǔ)設(shè)備<br>";
}
}
$computer =new Computer;
$computer ->useUSB(new Ukey()); //為計(jì)算機(jī)插入一個(gè)usb鍵盤設(shè)備,并運(yùn)行
$computer ->useUSB(new Umouse()); //為計(jì)算機(jī)插入一個(gè)usb鼠標(biāo)設(shè)備,并運(yùn)行
$computer ->useUSB(new Ustore()); //為計(jì)算機(jī)插入一個(gè)usb存儲(chǔ)設(shè)備,并運(yùn)行
?>

運(yùn)行輸出:

運(yùn)行USB鍵盤設(shè)備
運(yùn)行USB鼠標(biāo)設(shè)備
運(yùn)行USB存儲(chǔ)設(shè)備

PS:代碼較原文有所修改,已調(diào)試運(yùn)行無誤~

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《PHP數(shù)組(Array)操作技巧大全》、《PHP基本語法入門教程》、《PHP運(yùn)算與運(yùn)算符用法總結(jié)》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總

希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • PHP7內(nèi)核CGI與FastCGI詳解

    PHP7內(nèi)核CGI與FastCGI詳解

    在本篇文章里小編給大家整理了關(guān)于PHP7內(nèi)核CGI與FastCGI的相關(guān)知識(shí)點(diǎn)內(nèi)容,需要的朋友們學(xué)習(xí)下。
    2019-04-04
  • php生成圓角圖片的方法

    php生成圓角圖片的方法

    這篇文章主要介紹了php生成圓角圖片的方法,涉及php操作圖片的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-04-04
  • php setcookie函數(shù)的參數(shù)說明及其用法

    php setcookie函數(shù)的參數(shù)說明及其用法

    這篇文章主要介紹了php setcookie函數(shù)的參數(shù)說明及其用法,需要的朋友可以參考下
    2014-04-04
  • 推薦php模板技術(shù)[轉(zhuǎn)]

    推薦php模板技術(shù)[轉(zhuǎn)]

    推薦php模板技術(shù)[轉(zhuǎn)]...
    2007-01-01
  • php中str_pad()函數(shù)用法分析

    php中str_pad()函數(shù)用法分析

    這篇文章主要介紹了php中str_pad()函數(shù)用法,較為詳細(xì)的分析了php中str_pad()函數(shù)的功能、參數(shù)含義及具體使用方法,需要的朋友可以參考下
    2017-03-03
  • PHP數(shù)據(jù)流應(yīng)用的一個(gè)簡單實(shí)例

    PHP數(shù)據(jù)流應(yīng)用的一個(gè)簡單實(shí)例

    PHP數(shù)據(jù)流應(yīng)用的一個(gè)簡單實(shí)例代碼,需要的朋友可以參考下
    2012-09-09
  • php實(shí)現(xiàn)JWT驗(yàn)證的實(shí)例教程

    php實(shí)現(xiàn)JWT驗(yàn)證的實(shí)例教程

    這篇文章主要給大家介紹了關(guān)于php實(shí)現(xiàn)JWT驗(yàn)證的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • 詳解PHP變量傳值賦值和引用賦值變量銷毀

    詳解PHP變量傳值賦值和引用賦值變量銷毀

    這篇文章主要介紹了PHP變量傳值賦值和引用賦值變量銷毀,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • PHP遞歸實(shí)現(xiàn)快速排序的方法示例

    PHP遞歸實(shí)現(xiàn)快速排序的方法示例

    這篇文章主要介紹了PHP遞歸實(shí)現(xiàn)快速排序的方法,簡單描述了快速排序的原理并結(jié)合實(shí)例形式分析了php使用遞歸算法實(shí)現(xiàn)快速排序的相關(guān)操作技巧,需要的朋友可以參考下
    2017-12-12
  • PHP面向?qū)ο蟪绦蛟O(shè)計(jì)之命名空間與自動(dòng)加載類詳解

    PHP面向?qū)ο蟪绦蛟O(shè)計(jì)之命名空間與自動(dòng)加載類詳解

    這篇文章主要介紹了PHP面向?qū)ο蟪绦蛟O(shè)計(jì)之命名空間與自動(dòng)加載類,結(jié)合實(shí)例形式分析了php命名空間與自動(dòng)加載類的概念、功能、使用方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2016-12-12

最新評(píng)論