物件導向的三大基本特徵和五大基本原則

2022-09-12 16:54:21 字數 1194 閱讀 8404

面向過程(pop)

procedure oriented programming,面向過程是一種以過程為中心的程式設計思想,分析出解決問題所需的步驟,然後用函式把這些步驟實現,並按順序呼叫。它是一種基礎的順序的思維方式,物件導向方法的基礎實現中也包含面向過程思想。

物件導向(oop)

object oriented programming,物件導向是按人們認識客觀世界的系統思維方式,採用基於物件(實體)的概念建立模型,模擬客觀世界分析、設計、實現軟體的辦法。通過物件導向的理念使計算機軟體系統能與現實世界中的系統一一對應。在軟體開發過程中,巨集觀上,用物件導向來把握事物間複雜的關係,分析系統。微觀上,仍然使用面向過程。」物件導向「是以「物件」為中心的程式設計思想。

區別面向過程

物件導向

特性模組化 流程化

抽象 封裝 繼承 多型

維護性、 復用性、 擴充套件性弱強

效能強弱封裝是把過程和資料報圍起來,隱藏物件的屬性和實現細節,對資料的訪問只能通過已定義的對外公開介面。物件導向計算始於這個基本概念,即現實世界可以被描繪成一系列完全自治、封裝的物件,這些物件通過乙個受保護的介面訪問其他物件。類就是封裝資料和操作這些資料**的邏輯實體。在乙個類的內部,某些屬性和方法是私有的,不能被外界所訪問。

通過這種方式,物件對內部資料進行了不同級別的訪問控制,就避免了程式中的無關部分的意外改變或錯誤改變了物件的私有部分,增強安全性和簡化程式設計,使得使用者不必了解具體的實現細節,而只是要通過外部介面,以特定的訪問許可權來使用類的成員。

物件的乙個新類可以從現有的類中派生,這個過程稱為類繼承。新類繼承了原始類的特性,新類稱為原始類的派生類(子類),而原始類稱為新類的基類(父類)。

通過使用繼承,可以在不同的子類中多次重新使用父類中的**,繼承方法和例項變數,使程式結構清晰,易於維護和修改,而子類可以修改或增加新的方法使之更適合特殊的需要。

多型是指乙個程式中同名的方法共存的情況,呼叫者只需使用同乙個方法名,系統會根據不同情況,呼叫相應的不同方法,從而實現不同的功能,多型機制使得不同內部結構的物件可以共享相同的外部介面。多型性又被稱為「乙個名字,多個方法」。

多型存在的三個必要條件:繼承、重寫、父類引用指向子類物件

對乙個類而言,應該僅有乙個引起它變化的原因。

軟體實體應該是可以擴充套件的,但是不可修改。

子型別必須能夠替換掉它們的基型別。

抽象不應依賴於細節,細節應該依賴於抽象

多個專用介面優於乙個單一的通用介面。

物件導向的三大基本特徵和五大基本原則

透切理解物件導向三大基本特性是理解物件導向五大基本原則的基礎.三大特性是 封裝,繼承,多型 所謂封裝,也就是把客觀事物封裝成抽象的類,並且類可以把自己的資料和方法只讓可信的類或者物件操作,對不可信的進行資訊隱藏。封裝是物件導向的特徵之一,是物件和類概念的主要特性。簡單的說,乙個類就是乙個封裝了資料以...

物件導向的三大基本特徵和五大基本原則

前文提到,物件導向的三個特徵 封裝 繼承 多型。那麼物件導向是怎麼體現這三個特徵呢?關於五大基本原則,個人找資料的時候看得頭都大了,對新手 如我 來說還是比較有理解難度的,本篇用較為簡單的表述來幫助理解,想先看高階版 完全版 的可以先移步 物件導向設計的五個基本原則 1.封裝 封裝,就是將客觀事物抽...

物件導向的三大基本特徵和五大基本原則

前文 提到,物件導向的三個特徵 封裝 繼承 多型。那麼物件導向是怎麼體現這三個特徵呢?關於五大基本原則,個人找資料的時候看得頭都大了,對新手 如我 來說還是比較有理解難度的,本篇用較為簡單的表述來幫助理解,想先看高階版 完全版 的可以先移步 牢記物件導向五個基本原則 1.封裝 封裝,就是將客觀事物抽...