標籤:動態 出錯 注意 訊息 存取控制 鼓勵 操作 多態性 綜合
1)物件導向的特徵
1. 抽象:(從java方面來說抽象大多數人還是把它作為java中的一種特徵來對待)
抽象就是忽略一個主題中與當前目標無關的那些方面,以便更充分地注意與當前目標有關的方面。抽象包括兩個方面,一是過程抽象,二是資料抽象。
2.繼承:
繼承是一種連接類的層次模型,並且允許和鼓勵類的重用,它提供了一種明確表述共性的方法。衍生類別可以從它的基類那裡繼承方法和執行個體變數,並且類可以修改或增加新的方法使之更適合特殊的需要。
3.封裝:
封裝是把過程和資料包圍起來,對資料的訪問只能通過已定義的介面。物件導向計算始於這個基本概念,即現實世界可以被描繪成一系列完全自治、封裝的對象,這些對象通過一個受保護的介面訪問其他對象。
4.多態:
多態性是指允許不同類的對象對同一訊息作出響應。多態性包括參數化多態性和包含多態性。
書上的解釋是:
所謂封裝:就是通過定義類並給類的屬性和方法加上存取控制來抽象事物本質特性。
所謂繼承:就是代碼重用。
所謂多態:從另外一個角度分割了介面和實現,即把"什麼"和“如何”兩個概念分開來。
2)什麼是OOP?什麼是類?請對比類和對象執行個體之間的關係。
OOP是Object_oriented Programming(物件導向編程)的縮寫。這主要是為了區別於以前的面向過程的程式設計!指的是用對象的觀點來組織與構建系統,它綜合了功能抽象和資料抽象,這樣可以減少資料之間的耦合性和代碼的出錯幾率。使用物件導向編程技術可以使得軟體開發人員按照現實世界裡人們思考問題的模式編寫代碼,可以讓軟體開發人員更好地利用代碼直接表達現實中存在的對象,將問題空間直接映射到解空間!
類:即class 在物件導向的程式設計中,專門用“類”來表示使用者定義的抽象資料類型(user_defined abstract type)。它將具有相同狀態、操作和訪問機制的多個對象進行了抽象。類具有繼承、資料隱藏和多態三種主要特性。利用類的這三種特性可以更好地表示現實世界中事物。類是同一類對象執行個體的共性的抽象,對象是類的執行個體化。對象通常作為電腦類比思維,表示真實世界的抽象,一個對象就像一個軟體模組,可以為使用者提供一系列的服務---可以改變對象的狀態、測試、傳遞訊息等。類定義了對象的實現細節或資料結構。類是靜態,對象是動態,對象可以看作是運行中的類。類負責產生對象,可以將類當成生產對象的工廠(Object factory)
還有一個概念:萬物皆對象。
java的物件導向(以前寫的日誌遷移