2007年11月16日 星期五

11/16 隨堂筆記

1. Class (型別)
(1) primitive: float, double, int;
(2) Scanner (Java 內建的 class)
(3) String (這是別人已經寫好的)
(4) 可視為集合名詞。( instance ← 個體(實例))
(5) 在Class下有 :
*1. attributes (members, fields),稱作-屬性

attribute:
#1. public
#2. private

*2. methods (operations)

2. 100% 物件導向程式語言(Ex: Java),不能用非物件導向的方法來撰寫。
Ex: 寫一個向量的程式

(1). C語言的寫法

innerproduct(*a, *b);

缺點是不知道 *a, *b 所接受到的值是否為 vector 的值;

(2). Java的寫法

vector a, b;

answer = a.innerProduct(b);

(以下為錯誤寫法)

int c, d;

answer = c.innerProduct(b);

answer = a.innerProduct(d);

因為 c 和 d 皆不屬於 vector 的 members。

3. Java 有執行速度較慢的缺點,但隨著科技的進步,這項缺點已慢慢有所改善。

4. Java有跨平台的優點。(Ex: C/C++ 有 windows版、Linux版,但Java沒有)

5. "A class is a Type" (Ex: Type Var Date d)

6. 繼承
當A物件的屬性和B物件的屬性相同時,就可以讓 A繼承 B。
(Ex: Toyota & Nissen)

7. "new" Operator

Date a; //宣告一個為 Date 型別的 object named "a", 但是 a 沒有被配置記憶體。

a = new Date(); ← memory allocation;

8. Java Mechine(JVM) 有garbage collectors (釋放沒有用的記憶體)的功能。

9. obj.?? (屬性or方法)
判別方式:
methods 有 "()"

Ex: obj.attribute
obj.method()

10. Java程式的撰寫看重的是一個整體性。
Ex: Mr. Java 開車子,而不是開一個引擎或輪子..........。

沒有留言: