亚洲一级电影在线观看,九九精品无码专区免费,亚洲AV无码资源在线观看 ,欧美国产高清

php面向對象全攻略:多態的應用

時間:2024-10-28 04:37:51 PHP 我要投稿
  • 相關推薦

php面向對象全攻略:多態的應用

  多態的應用

  多態是除封裝和繼承之外的另一個面向對象的三大特性之一,我個人看來PHP 中雖然可

  以實現多態,但和C++還有Java 這些面向對象的語言相比,多態性并不是那么突出,因為PHP

  本身就是一種弱類型的語言,不存在父類對象轉化為子類對象或者是子類對象轉化為父類對

  象的問題,所以多態的應用并不是那么的明顯;所謂多態性是指一段程序能夠處理多種類型

  對象的能力,比如說在公司上班,每個月財務發放工資,同一個發工資的方法,在公司內不

  同的員工或是不同職位的員工,都是通過這個方法發放的,但是所發的工資都是不相同的。

  所以同一個發工資的方法就出現了多種形態。對于面向對象的程序來說,多態就是把子類對

  象賦值給父類引用,然后調用父類的方法,去執行子類覆蓋父類的那個方法,但在PHP 里是

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

  我們現在來看一個例子,首先還是要使用多態就要有父類對象和子類對象的關系。做一

  個形狀的接口或是抽象類做為父類,里面有兩個抽象方法,一個求周長的方法,另一個是求

  面積的方法;這接口的子類是多種不同的形狀,每個形狀又都有周長和面積,又因為父類是

  一個接口,所以子類里面就必須要實現父類的這兩個周長和面積的抽象方法,這樣做的目的

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

  代碼片段

  復制代碼 代碼如下:

  <?

  //定義了一個形狀的接口,里面有兩個抽象方法讓子類去實現

  interface Shape{

  function area();

  function perimeter();

  }

  //定義了一個矩形子類實現了形狀接口中的周長和面積

  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 "矩形的周長是:".(2*($this->width+$this->height));

  }

  }

  //定義了一個圓形子類實現了形狀接口中的周長和面積

  class Circular implements Shape{

  private $radius;

  function __construct($radius){

  $this->radius=$radius;

  }

  function area(){

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

  }

  function perimeter(){

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

  }

  }

  //把子類矩形對象賦給形狀的一個引用

  $shape=new Rect(5, 10);

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

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

  //把子類圓形對象賦給形狀的一個引用

  $shape=new Circular(10);

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

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

  ?>

  上例執行結果:

  執行結果

  矩形的面積是:50

  矩形的周長是:30

  圓形的面積是:314

  圓形的周長是:62.8

  通過上例我們看到,把矩形對象和圓形對象分別賦給了變量$shape,調用$shape 引用中

  的面積和周長的方法,出現了不同的結果,這就是一種多態的應用,其實在我們PHP 這種弱

  類形的面向對象的語言里面,多態的特性并不是特別的明顯,其實就是對象類型變量的變項

  應用。

【php面向對象全攻略:多態的應用】相關文章:

PHP面向對象重載重寫的不同10-25

javascript面向對象中的對象怎么理解09-02

PHP對象注入的實例分析08-27

關于PHP var-dump遍歷對象屬性的函數與應用代碼06-21

JAVA面向對象的三大特性06-14

 PHP的基礎編程與應用10-16

2016年java面向對象編程題庫及答案10-24

關于php堆排序實現原理與應用方法10-09

關于php面試寶典及PHP面試技巧08-16

PHP的壓縮函數06-21

主站蜘蛛池模板: 国产精品久久香蕉免费播放| 中文字幕久久波多野结衣av| 国产亚洲精品久久久久蜜臀| 玉林市| 色偷偷色噜噜狠狠成人免费视频| 亚洲日本va午夜中文字幕久久 | 无码人妻丰满熟妇啪啪网站| 欧美疯狂做受xxxx| 国产亚洲视频免费播放| 99视频精品全国免费品| 波多野av一区二区无码| 亚洲色偷偷偷鲁精品| 色老大久久综合网天天| 美臀人妻中出中文字幕在线| 国产久久精品| 无码国产精品一区二区免费模式| 欧美成人午夜精品久久久| 色天天综合久久久久综合片| 久99国产精品人妻aⅴ| 日韩精品一区二区三区免费视频| 久久女人网| 国产乱子伦农村叉叉叉| 免费福利视频一区二区三区高清| 波多野结衣一区二区三区高清| 亚洲日韩色在线影院性色| 隆林| 天堂v亚洲国产ⅴ第一次| 成人欧美一区二区三区| 羞羞影院成人午夜爽爽在线| 亚洲男人av香蕉爽爽爽爽| 久久精品国产欧美日韩| 精品一区二区三区国产在线观看| 久久婷婷综合色丁香五月| 湖口县| 国产在线无码视频一区二区三区| 熟妇人妻午夜寂寞影院| 中文字幕乱码无遮挡精品视频| 国产精品久久久尹人香蕉| 色五月五月丁香亚洲综合网| 国产精品女在线观看| 亚洲春色av无码专区最|