2014/4/25

[筆記]物件導向-其一

因為是自學程式,所以在學習的過程中,往往一個簡單的範例要想好幾次才想得通

所以覺得有必要將一些學習心得寫下來做個紀錄

在目前主流的程式語言中,可以聽得到物件導向這個名詞

其實「路過」的程式語言愈多,就會覺得很多名詞的發明好像只是為了追求一種流行做為一種標榜,好像什麼多層次搭配,說穿了就是因為身材不夠完美,所以利用視覺上的錯覺來讓外表更符合想要傳達的印象。反過來,只要你的腿夠長,身材夠完美,其實是不太需要類似的技巧,根據你需要的場合來進行決策即可

好比物件導向,我一開始學習的時候也覺得蠻恐怖的;當然,我相信事情如果要深究到完美,一定有很多事情需要注意。但並不是每個人都是資工背景。有時候我只是需要針對一個中型的計量問題進行處理,程式寫得笨一點速度比人家慢了好幾倍,在現在CPU不是很值錢的年代,似乎也不是什麼大問題?? 注意哦,我寫的是中小型的問題,如果是超大型而複雜的問題,光是演算法的學問就可以寫成好幾本論文….

我對於物件的認識如下

(1)為了簡化程式語寫的複雜度

(2)物件導向的要件

   定義一個類別 (class) → 描述物件裡面的變數 → 編寫建議程序 → 編寫方法

我覺得大致上就是如此

例如:你知道想要做一個類別叫做蜘蛛;一定是你的程式中,有需要用到各種類型的蜘蛛是吧?? 然後再針對你需要的物件特性,例如可能是顏色、大小、攻擊力、魔法攻擊力進行定義。然後再看看沒有什麼方法,好比物件攻擊()、魔法攻擊()

(3)使用物件

   物件都是需要宣告後才能使用;就像一般程式語言中,你要使用一個變數也要先告訴電腦,這個變數x是整數,那個變數y是浮點數哦。同樣的,物件也有類似特性;就把自己定義好的類別想像成一種資料型態,你只是在確定需求的狀況下,予以實體化。

   在Fate/stay night的故事中,主角使用的是一種叫做「投影」的魔法技巧。在劇情中只要魔力充足的狀況下,就可以將看過的武器予以無限制的仿製後再利用。我覺得這個和程式語言其實還蠻像的啊,只要你的記憶體與運算資源是充足的,而你又能完美的瞭解到每個仿製對象(類別)的使用方式,並且予以適當的安排,就可以充分達到你要的效果…

    進而達到無限劍製(Unlimited Blade Works)的境界

嗯…果然是個人心得啊

沒有留言:

張貼留言