Pages

2008/08/29

[Java] 物件(objcet) 類別(class) 實體(instance)

何為物件?
真世界件中任何一事物都是物件(object), 人是一個物件, 桌子是一個物件, 車子也是一個物件,
一個物件內會有那些東西, 狀態(state)及行為(behavior),

狀態是什麼? 以人為例, 名字, 性別, 膚色, 身高...等皆是人所擁有的狀態.
行為又是什麼? 一樣以人為例, 跑, 走, 吃東西, 喝水...等動作皆是一個人所擁有的行為.
人可以定義成一個類別(class)叫人類,
將上面的說明轉換成程式,
狀態便是程式中的變數(varialbe, 官方稱為field),
行為便是程式中的方法(method),
定義方式如下:
// 類別(class)叫人類(Human)
class Human {
//人類所擁有的屬性(property)
    String name;
    String sex;
    int height;
// 人類所擁有的行為(method)
    void setName(String name){}
    float run(){
        return float kilometer;
    }
    void eat(String food){}
}
若要使用 Human類別, 必須先將 Human類別實體化,

class HumanDemo {
    Human Taiwanese = new Human();
}
在 HumanDemo裡 Taiwanese是 Human類別的實體(instance),
當一類別被實體化後, 便可使用該類別中所定義之變數及方法.

沒有留言: