物件導向程式設計 高階特性

2021-10-10 04:22:58 字數 1664 閱讀 4295

1-什麼是面向過程?

概述: 自頂而下的程式設計模式.

把問題分解成乙個乙個步驟,每個步驟用函式實現,依次呼叫即可。

就是說,在進行面向過程程式設計的時候,不需要考慮那麼多,上來先定義乙個函式,然後使用各種諸如if-else、for-each等方式進行**執行。

最典型的用法就是實現乙個簡單的演算法,比如實現氣泡排序。

2-什麼是物件導向?

概述: 將事務高度抽象化的程式設計模式.

將問題分解成乙個乙個步驟,對每個步驟進行相應的抽象,形成物件,通過不同物件之間的呼叫,組合解決問題。

就是說,在進行物件導向進行程式設計的時候,要把屬性、行為等封裝成物件,然後基於這些物件及物件的能力進行業務邏輯的實現。

比如:想要造一輛車,上來要先把車的各種屬性定義出來,然後抽象成乙個car類。

封裝

所謂封裝,也就是把客觀事物封裝成抽象的類,並且類可以把自己的資料和方法只讓可信的類或者物件操作,對不可信的進行資訊隱藏

繼承

繼承是指這樣一種能力:它可以使用現有類的所有功能,並在無需重新編寫原來的類的情況下對這些功能進行擴充套件。通過繼承建立的新類稱為「子類」或「派生類」,被繼承的類稱為「基類」、「父類」或「超類」。繼承的過程,就是從一般到特殊的過程。要實現繼承,可以通過「繼承」(inheritance)和「組合」(composition)來實現。繼承概念的實現方式有二類:實現繼承與介面繼承。實現繼承是指直接使用基類的屬性和方法而無需額外編碼的能力;介面繼承是指僅使用屬性和方法的名稱、但是子類必須提供實現的能力;

多型

所謂多型就是指乙個類例項的相同方法在不同情形有不同表現形式。多型機制使具有不同內部結構的物件可以共享相同的外部介面。這意味著,雖然針對不同物件的具體操作不同,但通過乙個公共的類,它們(那些操作)可以通過相同的方式予以呼叫。

最常見的多型就是將子類傳入父類引數中,執行時呼叫父類方法時通過傳入的子類決定具體的內部結構或行為。

區域性變數

全域性變數

值傳遞

適用範圍:八大基本型別+string

public

static

void

main

(string[

] args)

public

static

void

init

(int age)

輸出結果 18

equals()

indexof()

replace()

replaceall()

spit()

contains()

length

()

public

static

int money =

10000

;public

void

add(

)public

static

void

main

(string[

] args)

輸出200

模板方法模式

策略模式:定義了一組演算法,將每個演算法都封裝起來,並且使它們之間可以互換

部落格位址

PHP物件導向高階特性

1 在 任何處直接使用,不需要在物件中傳遞例項 2 每個例項都可以訪問類中的靜態屬性。不用為了獲取簡單的功能而例項化物件 3 在靜態方法中例項物件進行操作,那麼在不例項化的情況下獲取新的物件 4 靜態變數可以通過類修改,但常量不可改 類的屬性改變會影響它所有的例項 class parents a n...

PHP物件導向的高階特性

一 靜態屬性和方法 1 static關鍵字用來宣告靜態屬性和方法,與類有關,而不是某個特定的例項。2 這類屬性或方法也稱為 類屬性 或 類方法 3 靜態屬性和方法只能訪問靜態的屬性和方法,不能訪問類中非靜態的屬性和方法。4 類外呼叫 類名 靜態屬性名 5 類內呼叫 self 靜態屬性名 定義乙個基類...

物件導向程式設計的特性

封裝 是指將描述乙個物件的屬性和行為 一般就是用方法表示 的 放在乙個類裡面,這個物件的屬性由這個物件的行為 方法 來讀取和改變 繼承 是指子類繼承父類或者介面 inte ce 除了實現父類或者介面的方法外,還可以根據自身需求來增加新的方法,提高了 的重用性和可擴充套件性 多型 是指變數在程式未執行...