日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

20150110--魔术方法魔术常量+面向对象-02

發布時間:2025/4/16 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 20150110--魔术方法魔术常量+面向对象-02 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
20150110--魔術方法魔術常量+面向對象-02

設計模式

1. 什么是設計模式?

指的是一種已經成熟話的設計規范,通過這種規范,能夠達到某種指定的要實現的效果。

php中,只有簡單的設計模式:單例模式,工廠模式

單例模式

1. 什么是單例模式?

單例模式,只有一個實例(對象),一個類只能產生一個對象。

要實現單例模式,必須解決以下問題

1. 確定有哪些方式可以產生新的對象:new和clone,必須禁用這兩種方法:私有化構造方法和克隆方法

2. 如何在封閉了外部產生對象的途徑之后,進入到內部產生?解決方案:靜態方法,可以不需要在外部創建對象的前提下,可以進入到類的內部。

3. 如何在內的內部要得到對象?解決方案:在靜態方法中可以創建對象

問題:該靜態方法可以被多次調用,因此會產生多個對象

4. 解決方案:增加一個靜態屬性用來保存生成的對象,如果后面再次新增對象的話,得先判斷對象是否存在,存在就不創建。

效果

對象判斷方式:instanceof,判斷一個對象是否屬于某個類

總結:單例模式要實現:三私一公(私有化構造方法,私有化克隆方法,私有化靜態屬性,公有化的靜態方法)

工廠模式

1. 什么工廠模式?

類似工廠一樣,需要什么類的對象,就產生對應類的對象。

工廠模式要實現:能夠生產對象,能夠加載類。

PHP是一種既支持面向過程又支持面向對象的語言。不是所有的面向對象語言都有類的概念,如js。(可以忽略)

面向對象三大特點

面向對象的三大特點:封裝,繼承和多態

封裝

封裝:面向將數據(屬性)以及對數據的操作(方法)捆綁到一起,形成對外的數據隱藏。只對外提供可以調用的接口供其使用。(public的方法和屬性)

封裝的過程稱之為抽象:將具有相同特性的一類事務,把公共的內容抽離出來,形成文字描述的過程。

繼承

繼承:子輩擁有父輩的財富(屬性)或者工作(方法)

如果一個類已經定義好可以使用的方法和屬性了,但是有一個類想在該類的基礎上進行擴展。擴展類就可以從已有的類繼承,將已有的屬性和方法都直接應用,而不用自己再去定義。

繼承的優點

1. 便于擴展(子類可以在父類的基礎上增加自己的特點)

2. 節省代碼:提高代碼的復用性

父類

class Father{

//財富(屬性)money

//工作(方法):makeMoney();

}

子類:繼承

class Son extends Father{

//沒有自己工作,繼承父親的工作:makeMoney()

}

多態

多態:多種形態,在存在繼承的情況下,子類必須重寫父類的方法(子類擁有與父類同名的方法)

父類

class Father{

function makeMoney(){

//種樹

}

}

子類:繼承自父類

class Son extends Father{

function makeMoney(){

//賣菜

}

}

//模擬Java

Father father = new Son();

father.makeMoney(); //賣菜

PHP繼承

繼承:子類可以使用父類的屬性和方法。

繼承語法

父類:擁有一些可以被繼承的屬性和方法

子類:想擁有自己不存在但是在別的類中存在的屬性和方法

關鍵字:extends

子類 extends 父類

繼承屬性的訪問(類內):公有的和受保護的都可以

繼承屬性的訪問(類外):只有公有的可以

繼承內容

繼承中不講靜態的繼承,php中的繼承是子類對象繼承父類的對象。(靜態的屬性和方法也依然滿足繼承條件,可以使用)

子類會繼承父類的所有的屬性(非靜態)和非私有的方法(非靜態)

protected

受保護的,是一個專門用于繼承的關鍵字(訪問修飾限定符),用protected關鍵字修飾的屬性或者方法,可以在子類中直接使用,但是不能在子類的外部使用。

雙向繼承

繼承默認的是子類繼承父類,但是其實在父類里面也可以同樣的使用子類里面的屬性和方法,只要滿足(public和protected),所以認為繼承是雙向的。

重寫

子類擁有與父類同名的屬性或者方法,就會覆蓋父類的屬性或者方法。

屬性重寫

重寫的效果

繼承內存分析

posted on 2016-04-20 22:58?山山未遲 閱讀(...) 評論(...) 編輯 收藏

轉載于:https://www.cnblogs.com/lifushan/p/5414873.html

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的20150110--魔术方法魔术常量+面向对象-02的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。