什麼是物件Object?
物件是從類別Class所創造出來的實體Instance
每個物件都有自己的狀態State(由類別的屬性定義)和行為Behavior(由類別的方法定義)。
有了類別之後,就可以做很多不同的物件
什麼是類別Class?
譬如一隻貓可以是一種類別,
物件的狀態,有貓的”毛色”以及”品種”
物件的行為,有貓的”聲音”
用Ruby on rails來舉一個例子,幫助了解實際的運用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| #定義一個類別 class Cat
#initialize可以定義類別屬性 def initialize(name, breed, color) @name = name @breed = breed @color = color end
#定義一個類別方法,是貓的行為 def sound "meow meow" end
#定義一個類別方法 def check_info "My name is #{@name},I'm #{@breed},my color is #{@color}" end
end
#接下來,從貓類別創造出不同的物件 cat1 = Cat.new("Jane","Mix","Orange") cat2 = Cat.new("Olive","Munchkin","Grey", ) cat3 = Cat.new("Cliff","Siamese","White")
# 調用物件身上的方法 puts cat1.sound #meow meow puts cat2.check_info # My name is Olive,I'm Munchkin,my color is Grey"
|
這樣就完成了Cat類別,
有@name、@breed、@color總共3個實體變數,
定義貓的名字、品種、顏色;
有sound方法、check_info方法
知道貓類別的聲音
知道貓類別的基本資訊
每個物件都有屬於自己的狀態和行為
也可以呼叫方法
參考資料
類別(Class)與模組(Module)