因為是自學程式,所以在學習的過程中,往往一個簡單的範例要想好幾次才想得通
所以覺得有必要將一些學習心得寫下來做個紀錄
在目前主流的程式語言中,可以聽得到物件導向這個名詞
其實「路過」的程式語言愈多,就會覺得很多名詞的發明好像只是為了追求一種流行做為一種標榜,好像什麼多層次搭配,說穿了就是因為身材不夠完美,所以利用視覺上的錯覺來讓外表更符合想要傳達的印象。反過來,只要你的腿夠長,身材夠完美,其實是不太需要類似的技巧,根據你需要的場合來進行決策即可
好比物件導向,我一開始學習的時候也覺得蠻恐怖的;當然,我相信事情如果要深究到完美,一定有很多事情需要注意。但並不是每個人都是資工背景。有時候我只是需要針對一個中型的計量問題進行處理,程式寫得笨一點速度比人家慢了好幾倍,在現在CPU不是很值錢的年代,似乎也不是什麼大問題?? 注意哦,我寫的是中小型的問題,如果是超大型而複雜的問題,光是演算法的學問就可以寫成好幾本論文….
我對於物件的認識如下
(1)為了簡化程式語寫的複雜度
(2)物件導向的要件
定義一個類別 (class) → 描述物件裡面的變數 → 編寫建議程序 → 編寫方法
我覺得大致上就是如此
例如:你知道想要做一個類別叫做蜘蛛;一定是你的程式中,有需要用到各種類型的蜘蛛是吧?? 然後再針對你需要的物件特性,例如可能是顏色、大小、攻擊力、魔法攻擊力進行定義。然後再看看沒有什麼方法,好比物件攻擊()、魔法攻擊()
(3)使用物件
物件都是需要宣告後才能使用;就像一般程式語言中,你要使用一個變數也要先告訴電腦,這個變數x是整數,那個變數y是浮點數哦。同樣的,物件也有類似特性;就把自己定義好的類別想像成一種資料型態,你只是在確定需求的狀況下,予以實體化。
在Fate/stay night的故事中,主角使用的是一種叫做「投影」的魔法技巧。在劇情中只要魔力充足的狀況下,就可以將看過的武器予以無限制的仿製後再利用。我覺得這個和程式語言其實還蠻像的啊,只要你的記憶體與運算資源是充足的,而你又能完美的瞭解到每個仿製對象(類別)的使用方式,並且予以適當的安排,就可以充分達到你要的效果…
進而達到無限劍製(Unlimited Blade Works)的境界
嗯…果然是個人心得啊
沒有留言:
張貼留言