国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

PHP設(shè)計模式(四):繼承

hellowoody / 996人閱讀

摘要:原文地址設(shè)計模式四繼承在設(shè)計模式二抽象類和接口以及設(shè)計模式三封裝中,我們已經(jīng)見過繼承,也就是關(guān)鍵字。對于一個好的程序設(shè)計,需要類和類之間應(yīng)該是低耦合的。繼承通常是繼承自抽象類,而不是具體類。

原文地址:PHP設(shè)計模式(四):繼承

Introduction

在PHP設(shè)計模式(二):抽象類和接口以及PHP設(shè)計模式(三):封裝中,我們已經(jīng)見過繼承,也就是extends關(guān)鍵字。
和C/C++,Java,Python等語言一樣,PHP也支持繼承,而且和其他語言沒有什么區(qū)別。

繼承/Inheritance

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

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

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");
?>

運行一下:

$ php Inheritance.php
Whale is chewing fish.
Whale is digesting fish.
Carp is chewing moss.
Carp is digesting moss.

注意$this在Animal類、Whale類、Carp類中的用法。
上面的代碼看似常見,實則暗含玄機。對于一個好的程序設(shè)計,需要:

類和類之間應(yīng)該是低耦合的。

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

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

Summary

合理的繼承對于好的程序設(shè)計同樣是必不可少的,結(jié)合abstract和protected,能讓你編寫出結(jié)構(gòu)清晰的代碼。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/30328.html

相關(guān)文章

  • PHP設(shè)計模式(十):適配器模式

    摘要:原文地址設(shè)計模式十適配器模式在設(shè)計模式七設(shè)計模式分類中我們提到過結(jié)構(gòu)設(shè)計模式,結(jié)構(gòu)設(shè)計模式專注于設(shè)計對象和實例的構(gòu)建組合過程。適配器模式在不修改現(xiàn)有代碼的基礎(chǔ)上,保留了架構(gòu)。 原文地址:PHP設(shè)計模式(十):適配器模式 Introduction 在PHP設(shè)計模式(七):設(shè)計模式分類中我們提到過結(jié)構(gòu)設(shè)計模式(Structural patterns),結(jié)構(gòu)設(shè)計模式專注于設(shè)計對象(Objec...

    paney129 評論0 收藏0
  • PHP面試之面向?qū)ο螅?)

    摘要:二面向?qū)ο笥惺裁刺卣髅嫦驅(qū)ο蟮闹饕卣饔谐橄罄^承封裝和多態(tài)。析構(gòu)函數(shù)析構(gòu)函數(shù)是在引入的,它的作用與調(diào)用時機和構(gòu)造函數(shù)剛好相反,它在對象被銷毀時自動執(zhí)行。 PHP面試專欄正式起更,每周一、三、五更新,提供最好最優(yōu)質(zhì)的PHP面試內(nèi)容。PHP中面向?qū)ο蟪?嫉闹R點有以下7點,我將會從以下幾點進行詳細介紹說明,幫助你更好的應(yīng)對PHP面試常考的面向?qū)ο笙嚓P(guān)的知識點和考題。整個面向?qū)ο笪恼碌慕Y(jié)構(gòu)涉...

    phodal 評論0 收藏0
  • PHP設(shè)計模式(二)工廠方法模式(Factory Method)

    摘要:對于這個問題,接下來的工廠方法模式可以解決這個問題。二工廠方法模式的優(yōu)點擁有良好的封裝性,代碼結(jié)構(gòu)清晰。參考系列源地址系列目錄設(shè)計模式概述設(shè)計模式一簡單工廠模式設(shè)計模式二工廠方法模式設(shè)計模式三抽象工廠模式設(shè)計模式四單例模式 簡單工廠簡述: 簡單工廠模式實現(xiàn)了產(chǎn)品類的代碼跟客戶端代碼分離,但會有一個問題,優(yōu)秀的代碼是符合開閉原則如果你要加一個C類產(chǎn)品,你就要修改工廠類里面的代碼,也就是說...

    zhjx922 評論0 收藏0
  • PHP面試(一)

    摘要:是對記錄的惟一性約束,要求記錄有惟一標識,即實體的惟一性,更通俗說有主鍵第三范式符合,并且,消除傳遞依賴。第三范式非主鍵之間不應(yīng)該有依賴關(guān)系。 ## 一、數(shù)據(jù)庫范式理解 第一范式(1NF):屬性不可分 第二范式(2NF):符合1NF,并且非主屬性完全依賴于碼。2NF是對記錄的惟一性約束,要求記錄有惟一標識,即實體的惟一性,更通俗說有主鍵ID 第三范式(3NF):符合2NF,并且,消除...

    tuantuan 評論0 收藏0
  • PHP設(shè)計模式(五):多態(tài)

    摘要:原文地址設(shè)計模式五多態(tài)在設(shè)計模式四繼承中我們介紹了繼承,利用來進行程序設(shè)計的方法。和,,等語言一樣,也支持多態(tài)。多態(tài)更多是是一種面向?qū)ο蟪绦蛟O(shè)計的概念,讓同一類對象執(zhí)行同一個接口,但卻實現(xiàn)不同的邏輯功能。 原文地址:PHP設(shè)計模式(五):多態(tài) Introduction 在PHP設(shè)計模式(四):繼承中我們介紹了繼承,利用extends來進行程序設(shè)計的方法。在PHP設(shè)計模式(二):抽象類和...

    ZweiZhao 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<