面向對象基礎概述

一:面嚮對象語言基本特性:
萬物皆對象;
程序是對象的集合,它們彼此通過發送消息調用對方;
每個對象都擁有由其他對象所構成的存儲;
每個對象都擁有其類型(Type),每個對象都是某個類(Class)的實例(Instance);
某一特定類型的所有對象都可以接受(Receive)同樣的信息;

二:對象
對象擁有狀態(State)、行爲(Behaviour)、標識(Identity);這意味着每一個對象都可以擁有內部數據和方法,並且每一個對象都可以唯一的與其他對象區分開,具體來說,就是每一個對象在內存裏都有一個唯一的地址;

三:類
擁有相同的特性(數據元素)和行爲(功能)的對象的集合;

四:類之間的關係
依賴(dopendence,即"users-a"),如果一個類操作另一個類的對象,我們就說一個類依賴於另一個類;如司機駕車,駕駛是司機的一個方法,駕駛就要用到汽車,而汽車不是司機的屬性,這裏司機已汽車的關係就是依賴關係(司機依賴於汽車);
聚合(aggregation,即"has-a"),聚合關係是整體與部分的關係;如汽車與引擎,學校與學生;
繼承(inheritance,即"is-a"),表示特殊與一般關係;如學生與人,麻雀與鳥類;
關於繼承,在Java中所有的類都繼承自單一基類——Object;

五:封裝
面向對象編程語言是對客觀世界的模擬,客觀世界裏成員變量都是隱藏在對象內部的,外界無法直接操作和修改。然後封裝可以被認爲是一個保護屏障,防止該類的代碼和數據被其他類隨意訪問。要訪問該類的數據,必須通過指定的方式。適當的封裝可以讓代碼更容易理解與維護,也加強了代碼的安全性。其原則就是將屬性隱藏起來,若需要訪問某個屬性,提供公共方法對其訪問;
封裝的優點:
良好的封裝能夠減少耦合;
類內的結構可以自由修改;
可以對成員變量進行更精確的控制;
隱藏信息,實現細節;

六:繼承
繼承是java面向對象編程技術的一塊基石,因爲它允許創建分等級層次的類。
繼承就是子類繼承父類的特徵和行爲,使得子類對象(實例)具有父類的實例域和方法,或子類從父類繼承方法,使得子類具有父類相同的行爲。如兔子和羊屬於食草動物類,獅子和豹屬於食肉動物類。食草動物和食肉動物又是屬於動物類。所以繼承需要符合的關係是:is-a,父類更通用,子類更具體。雖然食草動物和食肉動物都是屬於動物,但是兩者的屬性和行爲上有差別,所以子類會具有父類的一般特性也會具有自身的特性。

七:多態
多態是同一個行爲具有多個不同表現形式或形態的能力;
多態的優點:
消除類型之間的耦合關係;
可替換性;
可擴展性;
接口性;
靈活性;
簡化性;
多態存在的三個必要條件:繼承,重寫,父類引用指向子類對象;

八:抽象類
如果一個類中沒有包含足夠的信息來描繪一個具體對象,就稱之爲抽象類;使用abstract class定義;
抽象類不能實例化對象,必須被繼承才能被使用;

九:接口(Interface)
接口是JAVA編程語言中的一個抽象類型,是抽象方法的集合,用interface聲明;
接口不是類,接口包含類要實現的方法;除非實現接口的類是抽象類,否則該類要定義接口中的所有方法;
接口無法被實例化,但可以被實現;一個實現接口的類,必須實現接口內所描述的所有方法,否則就必須聲明爲抽象類;

十:異常
異常是一種對象,它從出錯地點被throw,並被適當的專門被設計用來處理特定類型異常的異常處理器caught;
異常處理就像是與程序正常執行路徑並行的,在錯誤發生時執行的另一條路徑。
異常不能被忽略,一定會在某處被處理;異常提供了一種從錯誤狀況進行可靠恢復的途徑;

十一:併發
併發,在操作系統中,是指一個時間段中有幾個程序都處於已啓動運行到運行完畢之間,且這幾個程序都是在同一個處理機上運行,但任一個時刻點上只有一個程序在處理機上運行。

發佈了390 篇原創文章 · 獲贊 19 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章