最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

舉例講解PHP面對對象編程的多態(tài)

 更新時(shí)間:2015年08月12日 08:57:00   作者:zinss26914  
這篇文章主要介紹了舉例講解PHP面對對象編程的多態(tài),是PHP入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下

什么是多態(tài)?
多態(tài)性,其來自于dictionary.com的定義是"以不同形式,階段或者類型出現(xiàn)在獨(dú)立的組織中或者同種組織中,而不存在根本區(qū)別。"由該定義,我們可以認(rèn)為,多態(tài)性是一種通過多種狀態(tài)或階段來描述相同對象的編程方式。其實(shí),它的真正意義在于:實(shí)際開發(fā)中,我們只需要關(guān)注一個(gè)接口或基類的編程,而不必?fù)?dān)心一個(gè)對象所屬于的具體類(class)。
如果你熟悉設(shè)計(jì)模式,即使只是有個(gè)初步了解,那么你也會(huì)了解這個(gè)概念。事實(shí)上,PHP5多態(tài)性可能是基于模式設(shè)計(jì)編程中的最偉大的工具。它允許我們以一種邏輯的方式來組織相類似的對象從而實(shí)現(xiàn)在具體編碼時(shí)不必?fù)?dān)心對象的具體類型;而且,我們只需要對一個(gè)所期望的接口或基類編程即可。一個(gè)應(yīng)用程序越抽象,則它就顯得越靈活--而多態(tài)性是對行為加以抽象的最好的方式之一。
例如,讓我們考慮一個(gè)叫Person的類。我們可以用稱為David,Charles和Alejandro的類來子類化Person。Person有一個(gè)抽象方法AcceptFeedback(),所有的子類都要實(shí)現(xiàn)這個(gè)方法。這意味著,任何使用基類Person的子類的代碼都能調(diào)用方法AcceptFeedback()。你不必檢查該對象是一個(gè)David還是一個(gè)Alejandro,僅知道它是一個(gè)Person就夠了。結(jié)果是,你的代碼只需關(guān)注"最小公分母"-Person類即可。
在這個(gè)示例中的Person類也可以被創(chuàng)建為一個(gè)接口。當(dāng)然,與上面相比存在一些區(qū)別,主要在于:一個(gè)接口并沒有給出任何行為,而僅確定了一組規(guī)則。一個(gè)Person接口要求的是"你必須支持AddFeedback()方法",而一個(gè)Person類可以提供一些AddFeedback()方法的缺省代碼-你對之的理解可以是"如果你不選擇支持AddFeedback(),那么你應(yīng)該提供一種缺省實(shí)現(xiàn)。"至于如何選擇接口或基類則并非本文的主題;但是,一般說來,你需要通過基類來實(shí)現(xiàn)一個(gè)缺省的方法。如果你能夠簡單地勾勒出你的類所要實(shí)現(xiàn)的一組期望的功能,那么你也可以使用一個(gè)接口。

通俗理解
多態(tài)最直接的定義就是讓具有繼承關(guān)系的不同類對象,可以對相同名稱的成員函數(shù)調(diào)用,產(chǎn)生不同的反應(yīng)結(jié)果

多態(tài)的代碼

   

<?php 
   
  /** 
   * 聲明接口Demo 
   * @author wzy 
   * 
   */ 
  interface Demo 
  { 
   
    const NAME = "wangzhengyi"; 
   
    const AGE = 25; 
   
    function fun1 (); // 聲明方法默認(rèn)是public abstract 
    function fun2 (); 
  } 
   
  class One implements Demo 
  { 
   
    public function fun1 () 
    { 
      echo Demo::NAME . "就讀于中國傳媒大學(xué)"; 
    } 
   
    public function fun2 () 
    { 
      echo Demo::NAME . "的年齡是" . Demo::AGE; 
    } 
  } 
   
  class Two implements Demo 
  { 
   
    public function fun1 () 
    { 
      echo Demo::NAME . "在北京靈創(chuàng)眾和科技有限公司實(shí)習(xí)中"; 
    } 
   
    public function fun2 () 
    { 
      echo Demo::NAME . "去年的年齡是24"; 
    } 
  } 
   
  // 同一個(gè)接口,實(shí)現(xiàn)同一個(gè)方法,不同的對象,反應(yīng)結(jié)果不同。這就是多態(tài)的表現(xiàn)和應(yīng)用 
   
  $one = new One(); 
  $one->fun1(); // wangzhengyi就讀于中國傳媒大學(xué) 
  $one->fun2(); // wangzhengyi的年齡是25 
   
  echo "<br>"; 
   
  $two = new Two(); 
  $two->fun1(); // wangzhengyi在北京靈創(chuàng)眾和科技有限公司實(shí)習(xí)中 
  $two->fun2(); // wangzhengyi去年的年齡是24 

相關(guān)文章

  • php中全局變量global的使用演示代碼

    php中全局變量global的使用演示代碼

    用php編程的人對流程這個(gè)名詞很熟悉。一般做php的工程師對面向?qū)ο蟮睦斫獠皇翘?,所以在大流程中的方法中需要調(diào)用到外面變量,所以用的全局變量的機(jī)會(huì)會(huì)很多
    2011-05-05
  • PHP實(shí)現(xiàn)數(shù)組轉(zhuǎn)JSon和JSon轉(zhuǎn)數(shù)組的方法示例

    PHP實(shí)現(xiàn)數(shù)組轉(zhuǎn)JSon和JSon轉(zhuǎn)數(shù)組的方法示例

    這篇文章主要介紹了PHP實(shí)現(xiàn)數(shù)組轉(zhuǎn)JSon和JSon轉(zhuǎn)數(shù)組的方法,結(jié)合實(shí)例形式分析了php數(shù)組與json相互轉(zhuǎn)換實(shí)現(xiàn)方法與操作技巧,需要的朋友可以參考下
    2018-06-06
  • PHP判斷上傳文件類型的解決辦法

    PHP判斷上傳文件類型的解決辦法

    php通過判斷上傳文件的頭字符來判斷文件的類型,這可以稱得上是最安全,最真實(shí)確定上傳文件類型的方法了,具體實(shí)現(xiàn)方法如下
    2015-10-10
  • PHP7中新添特性整理

    PHP7中新添特性整理

    在本篇文章里小編給大家整理的是一篇關(guān)于PHP7中新添特性的相關(guān)內(nèi)容,對此有興趣的朋友們可以學(xué)習(xí)參考下。
    2021-02-02
  • PHP 多進(jìn)程 解決難題

    PHP 多進(jìn)程 解決難題

    PHP在很多時(shí)候不適合做常駐的SHELl進(jìn)程, 他沒有專門的gc例程, 也沒有有效的內(nèi)存管理途徑. 所以如果用PHP做常駐SHELL, 你會(huì)經(jīng)常被內(nèi)存耗盡導(dǎo)致abort而unhappy.
    2009-06-06
  • PHP函數(shù)http_build_query使用詳解

    PHP函數(shù)http_build_query使用詳解

    這篇文章主要介紹了PHP函數(shù)http_build_query使用詳解,分別對傳入一維關(guān)聯(lián)數(shù)組、一維索引數(shù)組、二維數(shù)組、傳入對象等給出示例,需要的朋友可以參考下
    2014-08-08
  • [PHP]實(shí)用函數(shù)2

    [PHP]實(shí)用函數(shù)2

    [PHP]實(shí)用函數(shù)2...
    2007-11-11
  • PHP文件上傳利用的常見函數(shù)總結(jié)大全

    PHP文件上傳利用的常見函數(shù)總結(jié)大全

    文件上傳是開發(fā)中常見的一個(gè)功能,下面這篇文章主要給大家介紹了關(guān)于PHP文件上傳利用的常見函數(shù),文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-03-03
  • PHP操作FTP類 (上傳、下載、移動(dòng)、創(chuàng)建等)

    PHP操作FTP類 (上傳、下載、移動(dòng)、創(chuàng)建等)

    這篇文章主要介紹了PHP操作FTP類,實(shí)現(xiàn)FTP上傳、FTP下載、FTP移動(dòng)、FTP創(chuàng)建等,感興趣的小伙伴們可以參考一下
    2016-03-03
  • php 中self,this的區(qū)別和操作方法實(shí)例分析

    php 中self,this的區(qū)別和操作方法實(shí)例分析

    這篇文章主要介紹了php 中self,this的區(qū)別和操作方法,結(jié)合實(shí)例形式分析了PHP面向?qū)ο蟪绦蛟O(shè)計(jì)中self,this的功能、區(qū)別、使用方法與操作注意事項(xiàng),需要的朋友可以參考下
    2019-11-11

最新評(píng)論

通化市| 漾濞| 宝兴县| 南江县| 长沙市| 河津市| 天津市| 通海县| 城步| 洞头县| 柳林县| 康平县| 右玉县| 镇安县| 丹凤县| 齐河县| 渝北区| 高唐县| 霞浦县| 西昌市| 松江区| 林口县| 昔阳县| 剑阁县| 南乐县| 乌鲁木齐县| 甘泉县| 理塘县| 汾西县| 扶沟县| 安庆市| 怀柔区| 巫山县| 琼结县| 利辛县| 正安县| 时尚| 隆昌县| 壶关县| 德清县| 龙山县|