物件導論(一)
基本概念
面向物件程式設計:處理實際的問題時,我們對問題進行分類、抽象,不同的事物建立不同的模型,模型包含自身的特性和動作,可以傳送訊息和其他模型進行通訊,使其可以解決一類問題的思想。
類:有相同特性和行為的事物的集合。比如:人,魚,花。
物件:所有的東西都可以視為物件,它有自己的屬性和方法。比如:一個人,有名字,年齡,可以吃飯,睡覺;一條狗 有名字,可以叫;一個電視機,有品牌,可以顯示影象等。
繼承:以已有的一個類(基類)為模板建立一個新類(子類),新類包含了新的屬性和方法。比如:基於狗類,建立一個新的類寵物狗,包含新的方法:撒嬌。
組合:把多個不同的類組合在一起形成一個新的類。比如:汽車,包含發動機,變速箱,輪胎等
多型:類方法執行時,根據物件的不同,動態呼叫不同的方法。比如:父類,動物,會叫(方法);子類 貓,喵喵叫; 子類 ,狗,汪汪叫;執行叫的時候根據 狗 貓的型別呼叫其對應的方法。
多型所表達的意思是:我知道你是一個動物,你會叫,那你去叫吧,但是主要具體的叫法。而不是這樣:如果你是貓,則喵喵叫;如果你是狗,則汪汪叫; ---注意理解
一切都是物件
java中(幾乎)一切都是物件。
java中通過引用來操作物件:String s = "hello"; 其中s就是引用,"hello"就是物件,具體操作時,我們可以用 s = s + "world",改變引用。
建立物件:使用new關鍵字,上面String s = "hellow" 是Java做了轉換,實際是String s = new String("hello");
特例:基本型別,不用new關鍵字,直接用型別 + 變數名定義即可,例如:int a;
基本型別 | 大小 | 最小值 | 最大值 |
boolean | - | - | - |
char | 16-bit | Unicode 0 | Unicode 216-1 |
byte | 8-bit | -128 | +127 |
short | 16bit | -215 | 215-1 |
int | 32 | -231 |
231-1 |
long | 64 | -263 | 263-1 |
float | 32 | IEEE754 | IEEE754 |
double | 64 | IEEE754 | IEEE754 |
void | - | - | - |
建立類:
class ATypename { // class建立類的關鍵字, Atypename類名 int x; //成員變數 float y; //成員變數 boolean z; //成員變數 void f(String s) { //成員函式 System.out.println(s); } }
編碼風格:
類命名:大駝峰,第一個字母大寫,如果類命名由幾個單詞構成,把他們拼在一起,其中每個單詞的首字母大寫。例如:PetDog。
變數,方法命名:小駝峰,和大駝峰風格一樣,只是首字母小寫。例如:backgroundColor,studentName。
縮排:4個空格