• <sub id="h4knl"><ol id="h4knl"></ol></sub>
    <sup id="h4knl"></sup>
      <sub id="h4knl"></sub>

      <sub id="h4knl"><ol id="h4knl"><em id="h4knl"></em></ol></sub><s id="h4knl"></s>
      1. <strong id="h4knl"></strong>

      2. php面向?qū)ο笕ヂ裕憾鄳B(tài)的應(yīng)用

        時(shí)間:2024-10-28 04:37:51 PHP 我要投稿
        • 相關(guān)推薦

        php面向?qū)ο笕ヂ裕憾鄳B(tài)的應(yīng)用

          多態(tài)的應(yīng)用

          多態(tài)是除封裝和繼承之外的另一個(gè)面向?qū)ο蟮娜筇匦灾�,我個(gè)人看來(lái)PHP 中雖然可

          以實(shí)現(xiàn)多態(tài),但和C++還有Java 這些面向?qū)ο蟮恼Z(yǔ)言相比,多態(tài)性并不是那么突出,因?yàn)镻HP

          本身就是一種弱類型的語(yǔ)言,不存在父類對(duì)象轉(zhuǎn)化為子類對(duì)象或者是子類對(duì)象轉(zhuǎn)化為父類對(duì)

          象的問(wèn)題,所以多態(tài)的應(yīng)用并不是那么的明顯;所謂多態(tài)性是指一段程序能夠處理多種類型

          對(duì)象的能力,比如說(shuō)在公司上班,每個(gè)月財(cái)務(wù)發(fā)放工資,同一個(gè)發(fā)工資的方法,在公司內(nèi)不

          同的員工或是不同職位的員工,都是通過(guò)這個(gè)方法發(fā)放的,但是所發(fā)的工資都是不相同的。

          所以同一個(gè)發(fā)工資的方法就出現(xiàn)了多種形態(tài)。對(duì)于面向?qū)ο蟮某绦騺?lái)說(shuō),多態(tài)就是把子類對(duì)

          象賦值給父類引用,然后調(diào)用父類的方法,去執(zhí)行子類覆蓋父類的那個(gè)方法,但在PHP 里是

          弱類型的,對(duì)象引用都是一樣的不分父類引用,還是子類引用。

          我們現(xiàn)在來(lái)看一個(gè)例子,首先還是要使用多態(tài)就要有父類對(duì)象和子類對(duì)象的關(guān)系。做一

          個(gè)形狀的接口或是抽象類做為父類,里面有兩個(gè)抽象方法,一個(gè)求周長(zhǎng)的方法,另一個(gè)是求

          面積的方法;這接口的子類是多種不同的形狀,每個(gè)形狀又都有周長(zhǎng)和面積,又因?yàn)楦割愂?/p>

          一個(gè)接口,所以子類里面就必須要實(shí)現(xiàn)父類的這兩個(gè)周長(zhǎng)和面積的抽象方法,這樣做的目的

          是每種不同形狀的子類都遵守父類接口的規(guī)范,都要有求周長(zhǎng)和求面積的方法。

          代碼片段

          復(fù)制代碼 代碼如下:

          <?

          //定義了一個(gè)形狀的接口,里面有兩個(gè)抽象方法讓子類去實(shí)現(xiàn)

          interface Shape{

          function area();

          function perimeter();

          }

          //定義了一個(gè)矩形子類實(shí)現(xiàn)了形狀接口中的周長(zhǎng)和面積

          class Rect implements Shape{

          private $width;

          private $height;

          function __construct($width, $height){

          $this->width=$width;

          $this->height=$height;

          }

          function area(){

          return "矩形的面積是:".($this->width*$this->height);

          }

          function perimeter(){

          return "矩形的周長(zhǎng)是:".(2*($this->width+$this->height));

          }

          }

          //定義了一個(gè)圓形子類實(shí)現(xiàn)了形狀接口中的周長(zhǎng)和面積

          class Circular implements Shape{

          private $radius;

          function __construct($radius){

          $this->radius=$radius;

          }

          function area(){

          return "圓形的面積是:".(3.14*$this->radius*$this->radius);

          }

          function perimeter(){

          return "圓形的周長(zhǎng)是:".(2*3.14*$this->radius);

          }

          }

          //把子類矩形對(duì)象賦給形狀的一個(gè)引用

          $shape=new Rect(5, 10);

          echo $shape->area()."
        ";

          echo $shape->perimeter()."
        ";

          //把子類圓形對(duì)象賦給形狀的一個(gè)引用

          $shape=new Circular(10);

          echo $shape->area()."
        ";

          echo $shape->perimeter()."
        ";

          ?>

          上例執(zhí)行結(jié)果:

          執(zhí)行結(jié)果

          矩形的面積是:50

          矩形的周長(zhǎng)是:30

          圓形的面積是:314

          圓形的周長(zhǎng)是:62.8

          通過(guò)上例我們看到,把矩形對(duì)象和圓形對(duì)象分別賦給了變量$shape,調(diào)用$shape 引用中

          的面積和周長(zhǎng)的方法,出現(xiàn)了不同的結(jié)果,這就是一種多態(tài)的應(yīng)用,其實(shí)在我們PHP 這種弱

          類形的面向?qū)ο蟮恼Z(yǔ)言里面,多態(tài)的特性并不是特別的明顯,其實(shí)就是對(duì)象類型變量的變項(xiàng)

          應(yīng)用。

        《&.doc》
        将本文的Word文档下载到电脑,方便收藏和打印
        推荐度:
        点击下载文档

        【php面向?qū)ο笕ヂ裕憾鄳B(tài)的應(yīng)用】相關(guān)文章:

        PHP面向?qū)ο笾剌d重寫(xiě)的不同10-25

        javascript面向?qū)ο笾械膶?duì)象怎么理解09-02

        PHP對(duì)象注入的實(shí)例分析08-27

        關(guān)于PHP var-dump遍歷對(duì)象屬性的函數(shù)與應(yīng)用代碼06-21

         PHP的基礎(chǔ)編程與應(yīng)用10-16

        2016年java面向?qū)ο缶幊填}庫(kù)及答案10-24

        關(guān)于php堆排序?qū)崿F(xiàn)原理與應(yīng)用方法10-09

        關(guān)于php面試寶典及PHP面試技巧08-16

        PHP的壓縮函數(shù)06-21

        在线咨询
        国产高潮无套免费视频_久久九九兔免费精品6_99精品热6080YY久久_国产91久久久久久无码
      3. <sub id="h4knl"><ol id="h4knl"></ol></sub>
        <sup id="h4knl"></sup>
          <sub id="h4knl"></sub>

          <sub id="h4knl"><ol id="h4knl"><em id="h4knl"></em></ol></sub><s id="h4knl"></s>
          1. <strong id="h4knl"></strong>

          2. 视频一区二区三区韩国专区 | 思思久久96热视频 | 在线观看午夜看片免费 | 亚洲中文字幕一级视频电影 | 亚洲欧美在线播放 | 在线观看激情五月 |

            php面向?qū)ο笕ヂ裕憾鄳B(tài)的應(yīng)用

              多態(tài)的應(yīng)用

              多態(tài)是除封裝和繼承之外的另一個(gè)面向?qū)ο蟮娜筇匦灾�,我個(gè)人看來(lái)PHP 中雖然可

              以實(shí)現(xiàn)多態(tài),但和C++還有Java 這些面向?qū)ο蟮恼Z(yǔ)言相比,多態(tài)性并不是那么突出,因?yàn)镻HP

              本身就是一種弱類型的語(yǔ)言,不存在父類對(duì)象轉(zhuǎn)化為子類對(duì)象或者是子類對(duì)象轉(zhuǎn)化為父類對(duì)

              象的問(wèn)題,所以多態(tài)的應(yīng)用并不是那么的明顯;所謂多態(tài)性是指一段程序能夠處理多種類型

              對(duì)象的能力,比如說(shuō)在公司上班,每個(gè)月財(cái)務(wù)發(fā)放工資,同一個(gè)發(fā)工資的方法,在公司內(nèi)不

              同的員工或是不同職位的員工,都是通過(guò)這個(gè)方法發(fā)放的,但是所發(fā)的工資都是不相同的。

              所以同一個(gè)發(fā)工資的方法就出現(xiàn)了多種形態(tài)。對(duì)于面向?qū)ο蟮某绦騺?lái)說(shuō),多態(tài)就是把子類對(duì)

              象賦值給父類引用,然后調(diào)用父類的方法,去執(zhí)行子類覆蓋父類的那個(gè)方法,但在PHP 里是

              弱類型的,對(duì)象引用都是一樣的不分父類引用,還是子類引用。

              我們現(xiàn)在來(lái)看一個(gè)例子,首先還是要使用多態(tài)就要有父類對(duì)象和子類對(duì)象的關(guān)系。做一

              個(gè)形狀的接口或是抽象類做為父類,里面有兩個(gè)抽象方法,一個(gè)求周長(zhǎng)的方法,另一個(gè)是求

              面積的方法;這接口的子類是多種不同的形狀,每個(gè)形狀又都有周長(zhǎng)和面積,又因?yàn)楦割愂?/p>

              一個(gè)接口,所以子類里面就必須要實(shí)現(xiàn)父類的這兩個(gè)周長(zhǎng)和面積的抽象方法,這樣做的目的

              是每種不同形狀的子類都遵守父類接口的規(guī)范,都要有求周長(zhǎng)和求面積的方法。

              代碼片段

              復(fù)制代碼 代碼如下:

              <?

              //定義了一個(gè)形狀的接口,里面有兩個(gè)抽象方法讓子類去實(shí)現(xiàn)

              interface Shape{

              function area();

              function perimeter();

              }

              //定義了一個(gè)矩形子類實(shí)現(xiàn)了形狀接口中的周長(zhǎng)和面積

              class Rect implements Shape{

              private $width;

              private $height;

              function __construct($width, $height){

              $this->width=$width;

              $this->height=$height;

              }

              function area(){

              return "矩形的面積是:".($this->width*$this->height);

              }

              function perimeter(){

              return "矩形的周長(zhǎng)是:".(2*($this->width+$this->height));

              }

              }

              //定義了一個(gè)圓形子類實(shí)現(xiàn)了形狀接口中的周長(zhǎng)和面積

              class Circular implements Shape{

              private $radius;

              function __construct($radius){

              $this->radius=$radius;

              }

              function area(){

              return "圓形的面積是:".(3.14*$this->radius*$this->radius);

              }

              function perimeter(){

              return "圓形的周長(zhǎng)是:".(2*3.14*$this->radius);

              }

              }

              //把子類矩形對(duì)象賦給形狀的一個(gè)引用

              $shape=new Rect(5, 10);

              echo $shape->area()."
            ";

              echo $shape->perimeter()."
            ";

              //把子類圓形對(duì)象賦給形狀的一個(gè)引用

              $shape=new Circular(10);

              echo $shape->area()."
            ";

              echo $shape->perimeter()."
            ";

              ?>

              上例執(zhí)行結(jié)果:

              執(zhí)行結(jié)果

              矩形的面積是:50

              矩形的周長(zhǎng)是:30

              圓形的面積是:314

              圓形的周長(zhǎng)是:62.8

              通過(guò)上例我們看到,把矩形對(duì)象和圓形對(duì)象分別賦給了變量$shape,調(diào)用$shape 引用中

              的面積和周長(zhǎng)的方法,出現(xiàn)了不同的結(jié)果,這就是一種多態(tài)的應(yīng)用,其實(shí)在我們PHP 這種弱

              類形的面向?qū)ο蟮恼Z(yǔ)言里面,多態(tài)的特性并不是特別的明顯,其實(shí)就是對(duì)象類型變量的變項(xiàng)

              應(yīng)用。