標籤:
1.物件導向oop
oriented的含義:意味著一種信仰,object-oriented相信任何的軟體都是有對象構成,
而不是Nothing else,由此可以得出總結:電腦語言的設計就簡化了寫程式只要定義class就可以了
2.Oriented-Based-Driven-Centered 之間的區別:
Based:--基於需求,有先後的順序。例如先進行需求分析,然後基於需求分析的結果(檔案)
而進行後續的軟體開發活動,稱為:Requirement-based software developer
俗稱:打地基。
driven:“引導”,當在開發軟體的時候,按照指定的模型去開發程式,以使用者的使用為北極星,在不
違背使用者需求的情況下開發系統。
centered:一切的軟體開發的活動都是圍繞這架構,就是像聖誕節的糖果和礼物一樣都掛在聖誕樹上
一樣
對象(Object)
自然界中我們都認識的東西都是對象,而對於自己不認識的東西我們就理所當然的不認為是成為對象
,舉個例子:李白自己寫的詩文,他認為是對象,但是給他看一個外文詩的時候,他就不認為是對象
因為他根本不認識這個東西。
然後是。一旦我們認識了某樣東西,我們就可以說出他的特點,並於別的對象做一個對比,其特點包
括:
1>對象之特徵或者屬性
2>對象之行為
例如:人有鼻子,胳膊,退等屬性,會跑,跳等行為。
軟體之對象(software Object)是有資料(Data)和函數(Function)組成。
類(Class)
是群體或者集合,而對象是類中的一份子,類是對象的集合。
類是一群具有共同重要屬性的對象,類的定義就是說明這對象都具有什麼的重要特性,軟體中的對
象以資料來表達特性,以函數來表達行為,因此,類的定義就是說明軟體中的對象,應包含資料和函數。
繼承(extend)
對眾多的對象加以分門別類,就形成了繼承的的體系,衍生類=子類
子類繼承基類(父類)子類和父類如同兒子和爸爸的關係,子類繼承父類的所用屬性和行為,並且子類還可以自己
定義屬性(data)和行為(函數)。
表達組合:
基類和子類的結構用途:比如輪胎和引擎的關係,引擎帶動輪胎運作,彼此是組合關係
我們在此舉個列子:
建立小線程:
main(){
Thread t = new Thread(new Task());//建立輪胎引擎
t.start();//啟動引擎帶動輪胎轉動,拿到基類對象,通過介面調用子類的函數。
//t開啟小線程去執行run()函數。
}
class Task implements Runnable{
public void run(){
system.err.println("hello world");
}
}
想要將輪胎和引擎結合起來,那麼就必須給Thread(引擎)定義一個介面(Runnable),然後建立Task(輪胎)去實現這個介面,
Android架構師之路-oop