PHP設計模式四:繼承 php購物車設計 php安全模式 php設計報

WBOY
發布: 2016-07-29 08:52:23
原創
1120 人瀏覽過

data-id="1190000004994154" data-licence="">

原文位址:PHP設計模式(四):繼承

Introduction

在PHP設計模式(二):抽象類別和介面以及PHP設計模式(三):封裝中,我們已經看過繼承,也就是extends關鍵字。
和C/C++,Java,Python等語言一樣,PHP也支援繼承,而且和其他語言沒有什麼不同。

繼承/Inheritance

還是用動物、鯨魚和鯉魚來舉例:

<code><?php
abstract class Animal {
  protected $name;

  protected function chew($food) {
    echo $this->name . " is chewing " . $food . ".\n";
  }
  protected function digest($food) {
    echo $this->name . " is digesting " . $food . ".\n";
  }
}

class Whale extends Animal {
  public function __construct() {
    $this->name = "Whale";
  }
  public function eat($food) {
    $this->chew($food);
    $this->digest($food);
  }
}

class Carp extends Animal {
  public function __construct() {
    $this->name = "Carp";
  }
  public function eat($food) {
    $this->chew($food);
    $this->digest($food);
  }
}

$whale = new Whale();
$whale->eat("fish");
$carp = new Carp();
$carp->eat("moss");
?></code>
登入後複製

運行一下:

<code>$ php Inheritance.php
Whale is chewing fish.
Whale is digesting fish.
Carp is chewing moss.
Carp is digesting moss.</code>
登入後複製

注意$this在Animal類、Whale、Carp類中的用法。
上面的程式碼看似常見,其實是暗含玄機。對於一個好的程式設計,需要:

  1. 類別和類別之間應該是低耦合的。

  2. 繼承通常是繼承自抽象類,而不是具體類別。

  3. 通常直接繼承抽象類別的具體類別只有一層,在抽象類別中用protected來限定。

Summary

合理的繼承對於好的程式設計同樣是必不可少的,結合abstract和protected,能讓你編寫出結構清晰的程式碼。

以上就介紹了PHP設計模式四:繼承,包含了設計模式,php方面的內容,希望對PHP教學有興趣的朋友有幫助。

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板