面向過程是以時間為順序的,組成單位是函數。
面向對象是一套思想。它來源于人類對于客觀世界的認識的一般規律。
1什么是對象?
什么都是對象!客觀存在的就是對象。
對一個事物來說,一是它有什么?(屬性)二是它能做什么?(方法)
2為什么面向對象
它人類看待客觀事物的一般規律。
人看到事物,首先會想到它能做什么,功能,存在的價值。并不太關心它的屬性。
========================================
要注意聯系實際來搞懂面向對象,比如面試這件事,實際上,公司是想測試你是否能提供 公司需要的方法,公司并不關心你實現的細節。錄用后,就是開始去調用你的方法。如果不能很好的實現方法,就可能被辭退。
那么那些筆試、測試就是想看你是否有知識,知識就是屬性,記住屬性與方法之間是有聯系的,也就是沒有公司所需的知識,可以斷定這個人肯定不會有公司需要的方法。
一個事物的方法的實現細節是對外界屏蔽的。
那么,之前提交的簡歷是什么呢,那就是一個方法列表阿,API。比如年齡22,表明你的方法可以很好的被調用;未婚,告訴別人,你可以加班,放心用。
項目1,2,3,每個項目后面一定要寫上你在項目中用到什么語言,否則HR的人是不知道你想告訴他們什么,他們只關心公司想要一個有JSP開發經驗,或者什么什么技術有經驗的人。您敘述一大堆項目的事情,沒有任何意義。所以簡歷不要瞎寫。
面試是什么,就是想真正調用一下你的方法,測試一下。
=======================================
那么社會的運轉就是各個對象的方法的相互調用。
方法列表公開,方法的實現細節屏蔽。
屬性,可見和不可見
一個方法的實現細節誰知道呢?只有這個對象的生成者。
那么人看待客觀世界的認識,就是通過類。人類認識的是類。
類是一系列對象的抽象,對象的模版。
一類事物,屬性、方法。這類對象也肯定有這些屬性和方法。
為什么面向對象的第二點,就是使得開發的系統各思其職,各盡所能。也就是低耦合,高內聚。
為什么,電腦中的部件可以很容易的更換成為其他廠商的,就是因為主板與具體部件的連接是松散的;那為什么,可以很容易的換到其他廠商的呢,是因為各個廠商遵循著標準接口。
比如硬盤的use(電源接口,數據接口),每個廠商都必須實現,而且硬盤是一個類的概念,有屬性,比如尺寸。
各個廠商不能在別處下功夫,只能對硬盤內部進行調整,提高性能,才會免予被替換。
高內聚是指完成功能的最小化。
低耦合表現在提高了對象的復用性,比如中間件。
最后總結一下,面向過程是先有算法,后有數據結構。由若干個過程相互調用完成。
面向對象,則是先有數據結構,后有算法,以對象為中心,開發一系列類,拿到特定對象,通過對象之間通信,對象設計要簡單。
類(共性)--〉對象(類允許對象在滿足共性的同時,存在個性)
一個類,則是一個新的數據類型。
實例變量與局部變量命名沖突,則使用局部變量,除非使用this.來指定某個屬性。
調用構造器只是生成對象步驟的最后一步,不是構造對象本身。
方法中使用了this,this表示當前對象,當前對象就是誰調用該方法,誰就是當前對象。
class TestClass{
String name;
public void printAll(String name)
{
this.name = name;
}
}
上面必須添加上this.來引用實例變量name。因為在局部變量和實例變量沖突時,使用局部變量。
finalize()不是析構方法,因為不能存在真正的釋放空間操作。
方法參數,簡單類型傳值,對象類型傳引用(一個實際存儲[堆中]的首地址)。
假如方法中,引用賦予一個新的對象,那么方法執行完以后,該引用和實際地址消失。傳入引用所指向的對象屬性不變。
Overloading,修飾符和返回值可以不同,但參數列表(參數類型個數或者排列順序)一定要不同。
Overloading,是編譯時多態。那么它要看編譯時類型。
Overloading,也存在于父與子的關系當中。父有方法,子類可以有同名方法,只有參數列表不同才是重載。
構造器(構造方法可以重載),通過this();可以調用本類無參構造方法。
在其他構造器調用其它構造器,那么需要this關鍵字,并且必須放置于第一行。
如果一個類不寫任何構造函數,系統會默認添加無參空構造方法。不要依賴系統默認行為!自己最好寫上。javap查看實際代碼。
對于簡單類型,如果調用方法傳入參數的類型不存在,那么就采用向上匹配原則進行查找。
m(byte)不存在,就用m(short)。(實際上long是int的父類,int是short的父類)
封裝
屬性盡可能私有。
方法盡可能公開。
private只有類內部本身能訪問。
default只有同包能訪問。
protected只有存在繼承關系,才能訪問。
posted on 2005-11-28 23:43
北國狼人的BloG 閱讀(507)
評論(2) 編輯 收藏 所屬分類:
達內學習總結