首頁 >常見問題 >物件導向程式設計的基本特徵

物件導向程式設計的基本特徵

(*-*)浩
(*-*)浩原創
2019-07-25 10:35:0831925瀏覽

物件導向的程式設計(Object Oriented Programming,OOP)方法是目前比較流行的程式設計方法,和流程導向的程式設計比,它更符合人類的自然思維方式。

物件導向程式設計的基本特徵

物件導向程式設計的基本特徵是:封裝性、繼承性、多型性。 (推薦學習:PHP影片教學

1、封裝性

封裝就是隱藏物件的屬性和實作細節,僅對外公開接口,控制在程序中屬性的讀和修改的訪問級別,將抽象得到的數據和行為(或功能)相結合,形成一個有機的整體,也就是將數據與操作數據的源代碼進行有機的結合,形成“類”,其中數據和函數都是類的成員。

封裝的目的是增強安全性和簡化編程,使用者不必了解具體的實作細節,而只是要透過外部接口,以特定的存取權限來使用類別的成員。

面相物件的不就是使用程式處理事情時以物件為中心去分析嗎,與流程導向不同,面向過程關心處理的邏輯、流程等問題,而不關心事件主體。而物件導向即面向主體,所以我們在解決問題時應該先進行物件的封裝(物件是封裝類別的實例,例如張三是人,人是一個封裝類,張三隻是物件中的一個實例、一個物件)。例如我們日常生活中的小兔子、小綿羊都可以封裝為一個類別。

例如兔子的屬性有兩隻耳朵、四隻腿、一雙眼睛、三瓣嘴等;行為(功能)有跑、跳、吃素等。

2、繼承性

繼承是物件導向的基本特徵之一,繼承機制允許建立分等級層次的類別。繼承就是子類別繼承父類別的特徵和行為,使得子類別物件(實例)具有父類別的實例域和方法,或子類別從父類別繼承方法,使得子類別具有父類別相同的行為。類似下面這個圖:

我們在上面已經封裝了兔子這個類,其他動物也一樣可以進行封裝。在封裝過程中我們發現兔子、綿羊這兩個類具有相似的功能或特性如吃草,所以我們可以抽取共有特徵和方法形成高一層的類,如這裡的食草動物、食肉動物。繼承之間是子父類別的關係。繼承機制可以很好的描述一個類別的生態,也提高了程式碼重複使用率,在Java中的Object類別是所有類別的超類,常稱為上帝類別。

3、多態性

多型同一個行為具有多個不同表現或形態的能力。是指一個類別實例(物件)的相同方法在不同情形有不同表現形式。多態機制使具有不同內部結構的物件可以共用相同的外部介面。這意味著,雖然針對不同物件的特定操作不同,但透過一個公共的類,它們(那些操作)可以透過相同的方式予以調用。

多態的優點:

#1.消除型別之間的耦合關係

2. 可替換性

#3 .可擴充性

4. 介面性

5.靈活性

6. 簡化性

##多型存在的三個必要條件:

繼承重寫(子類別繼承父類別後對父類別方法進行重新定義)父類別引用指向子類別物件

簡言之,多型其實是在繼承的基礎上的。比如說今天我們要去動物園參觀動物,那麼你說我們去參觀兔子、參觀綿羊、參觀獅子、參觀豹子都是對的,但你不能說我們去參觀汽車。在這個例子中,子類別具有多態性:除了使用自己的身份,還能充當父類別。

更多PHP相關技術文章,請造訪

PHP圖文教學欄位進行學習!

以上是物件導向程式設計的基本特徵的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn