物件導向基礎資訊

2021-10-02 10:39:41 字數 1666 閱讀 4003

物件:是乙個自包含的實體,用一組可識別的特性和行為來標識。

類:就是具有相同的屬性和功能的物件的抽象的集合。

例項:就是乙個真實的物件。

例項化:就是建立物件的過程,使用new關鍵字來建立。

建構函式,其實就是對類進行初始化。構造方法與類同名,無返回值,在new的時候呼叫。

所有的類都由建構函式,如果不編寫則系統預設生成空的構造方法,若有定義的構造方法,則預設的構造方法就會失效。

方法過載是指在乙個類中可以定義多個同名的方法,但要求每個方法具有不同的引數的型別或引數的個數。

屬性宣告是由關鍵字 public,protected 或者 private 開頭,然後跟乙個普通的變數宣告來組成。

屬性中的變數可以初始化,但是初始化的值必須是常數,這裡的常數是指 php 指令碼在編譯階段時就可以得到其值,而不依賴於執行時的資訊才能求值。

public:共有的,表示它所修飾的類成員可以允許其他類來訪問。

private:私有的,表示只允許同乙個類的成員訪問,其他類包括它的子類無法訪問。

protected:表示只允許該類及其子類的成員訪問,其他無關的類無法訪問。

每個物件都包含它能進行操作所需要的所有資訊,這個特性稱為封裝,因此物件不必依賴其他物件來完成自己的操作。

優點:1、良好的封裝能夠減少耦合;

2、類內部的實現可以自由的修改;

3、類具有清晰的對外介面。

繼承定義了類如何關聯,共享特性。繼承的工作方式是,定義父類和子類,或叫做基類和派生類,其中子類繼承父類的所有特性,此外,子類還可以定義新的特性。

1、子類擁有父類非private的屬性和功能;

2、子類具有自己的屬性和功能,即子類可以擴充套件父類沒有的屬性和功能;

3、 子類還可以以自己的方式實現父類的功能(方法重寫);

缺點:1、父類變,子類不得不變;

2、繼承會破壞包裝,父類實現細節暴露給子類,增大了兩個類的耦合性。

多型表示不同的物件可以執行相同的動作,但要通過它們自己的實現**來執行。

同一操作作用於不同的物件,可以有不同的解釋,產生不同的執行結果。在執行時,可以通過指向基類的指標,來呼叫實現派生類中的方法。

1、 子類繼承父類;

2、子類重寫父類的方法;

3、父類引用指向子類物件;

重構(refactoring)就是通過調整程式**改善軟體的質量、效能,使其程式的設計模式和架構更趨合理,提高軟體的擴充套件性和維護性。

1、 抽象類不能例項化;

2、抽象方法是必須被子類重寫的方法;

3、如果類中包含抽象方法,那麼類就必須定義為抽象類,不論是否還包含其他一般方法。

介面是把隱式公共方法和屬性組合起來,以封裝特定功能的乙個集合。一旦類實現了介面,類就可以支援介面所指定的所有屬性和成員。宣告介面在語法上和宣告抽象類完全相同,但不允許提供介面中任何成員的執行方式。實現介面的類就必須實現介面中的所有方法和屬性。

乙個類可以支援多個介面,多個類也可以支援相同的介面。

介面用inte***ce宣告,介面中的方法和屬性前面不能有修飾符、方法沒有方法體。

1、 類是對物件的抽象,抽象類是對類的抽象;介面是對行為的抽象。

2、如果行為跨越不同類的物件,可使用介面;對於一些相似的類物件,用繼承抽象類。

3、從設計角度講,抽象類是從子類中發現公共的東西,泛化出父類,然後子類繼承父類,而介面是根本不知子類的存在,方法如何實現還不確認,預先定義。

物件導向基礎

什麼是物件導向程式設計?就是把萬事萬物都抽象成為物件,一切都是物件!什麼是抽象?抽象是從眾多的事物中抽取出共同的 本質性的特徵,而捨棄其非本質的特徵。例如蘋果 香蕉 生梨 桃子等,它們共同的特性就是水果。得出水果概念的過程,就是乙個抽象的過程。要抽象,就必須進行比較,沒有比較就無法找到在本質上共同的...

物件導向基礎

我想在這個園子裡面的新人,還是 掌門人 都對 物件導向 這幾字非常的耳熟了或者有一定的了解。但當乙個初學都在學習物件導向的時候,會遇到一些瓶頸和麻煩,認為物件導向非常的難以理解。那麼本章節主要是讓大家了解物件導向,並系統地掌握物件導向程式設計的技能點,消除初學者的疑惑.1 如何去學習物件導向的程式設...

物件導向基礎

uml是一種標準的圖形化建模語言,是物件導向分析與設計的一種標準表示 類圖是用來描述類以及類與類之間關係的一種uml圖 類圖描述的關係包括關聯,範化,依賴,實現等 只要類與類之間存在關聯關係就可以用普通關聯來表示 比如 描述人和計算之間的關係 帶 的一端表示關聯的發起方,箭頭表示關聯的方向 0.1 ...