既然是物件導向程式設計,那物件是什麼?
其實我覺得應該先搞懂這個。
趁著清明連假,先了解一些基礎,不然很多基礎搞不懂,根本只是個會寫code的人,因為我不懂它運作的原理。
類別:一張設計圖,藍圖,可以參考的文件,沒有實體的存在。
但在Ruby的世界裡,類別也是一個物件。
物件:看得到、摸得到的實體,屬於動態,但狀態隨時會改變。
在Ruby裡如何定義一個類別呢?
1 2 3 | class Cat #... end |
這樣我們就定義了Cat 這個class(類別)
當然裡面可以定義很多methods(方法)
1 2 3 4 5 | class Cat def eat(food) puts "#{food} 好好吃!" end end |
我們先定義一個 eat
這個方法。
接下來用 new
方法來把 Cat類別創造出新的物件。
1 2 | willy = Cat.new willy.eat("罐頭") => 印出 [罐頭 好好吃!] |
簡單來說,為什麼說類別是一張設計圖?
比方要蓋一棟房子,首先需要一張設計圖(類別)
那你要透過new
出設計圖的房子(物件)
透過這樣簡單的的比喻,就可以把類別與物件分得比較清楚。
可能比喻的不是很好,再麻煩大家給我一些指教。
-W