J2SE5個月學習總結——我所理解的Object Oriented Programming

J2SE5個月學習總結

——我所理解的Object Oriented Programming

也許如果不是那個通宵,我可能永遠都不知道什麼是java,什麼是oop

本來只是想實現一個簡單的功能——不允許編輯JTable的單元格而已,看似一個簡單的功能,竟然翻了一個多小時的API竟然還是毫無頭緒。都快12點了,本來世界盃結束了,想早點睡覺做個正常人,但是我的性格就是比較硬吧,沒想到居然自己栽倒在一個自以爲很簡單的一個問題之上,這口氣怎麼也咽不下去啊。而且離答辯的時間只有10天不到了,我的“PCDIY系統”連基本窗口還沒有, 本來想趁着睡覺前一小時左右先搭一個框架再說,因爲一些我認爲比較困難的地方在之前我都想好怎麼解決,而且又參考了同學的作品,本以爲可以很快就搞定,但沒想到竟然一個“單元格”就花了我這麼多時間,心裏那個急啊,就像想上廁所才發現原來那裏什麼廁所都有就是沒男廁!

沒辦法,只好又重新再看API了,JTbleDefaultTableModel……反正有關的類、接口裏面的屬性、方法都仔細的看過了,但還是沒找到相應的解決辦法。說實在的,那時我心裏開始詛咒java了,或者說應該是swing,難道“單元格不能被編輯”這個這麼常用的功能也沒有現成大方法實現嗎?

3點了,窗外的那幾盞路燈感覺就像在嘲笑我一樣,一眨一眨的。栽在其他地方也就算了,一個從來都不覺得不是問題的問題竟然硬生生地在我面前晃悠了4個多小時,我都快瘋了。實在真的沒辦法了,API還好是電子版的,不然早就身首異處了。唯一的最後希望,就是我最喜歡的google了。

Google十來分鐘,然後自己又消化了一下,問題終於解決了(具體方法前面的文章有總結)。接下來就是繁忙的coding時間。

……

眨眼工夫5點了,有點睡意,天也亮了,但是又不太想睡覺,又回頭看看API,感覺突然有一種醍醐灌頂的感覺——我似乎知道什麼是“面向對象”了!

56小時前,我對於“面向對象”、MVC模式的表模型……其實都只是一知半解,老師說過,書也涉及過,但是始終很難自己說清楚到底是什麼?特別是“面向對象”,根本就沒去細考到底是什麼?因此在之前花了這麼多時間去查找API實際上都是漫無目的的亂查,根本就不知道自己應該找什麼和怎麼去找。

雖然是亂查一通,但感覺都最後卻有差出點眉目來了。

一個所謂的表模型,有一個外殼他就叫JTable,這個殼具體到我的系統她就是一個“對象”,這個對象裏面又是有很多不同的對象組成,例如列對象——column、單元格對象——cell……假如你想改變這個表的外貌時,首先就要知道具體我是想那塊“對象”要整容,列就找columnu,行就找row,表頭就找TableHead……一層一層找下去,直到找到所需要的“對象”爲止,然後就通過修改屬性、調用方法甚至高級點的用到override來達到自己的目的。

而同樣的外殼下面就是實際的東西了,那就是model,或者直接點說就是數據了,數據對象在JTbale就是一個Vector對象,Vector對象裏面可以封裝更多其他的數據類型的對象。同樣的,也是一層一層的不斷細分下去,直到不可再分爲止。這樣一個有血有肉的TableModel就出來了。

雖然書上很早就提到oo這個感念,而且也闡述了不少,但是我是知道這一個才深刻的感受到——到底怎麼用oo來表述我們所存在的世界。而且當我開始有點明白oo到底是什麼的時候,我不由得佩服提出這個概念的人(雖然我不知道他是誰),原來用計算機來表述的世界原來也可以這麼地生動而且實在。

實際上,我跟不不可能只同過自己做的簡單的一個小程序就弄懂什麼是oop,但是經過這次的設計,讓我慢慢地瞭解了什麼是java、什麼oop,具體來說就是讓我知道怎麼去查API,怎麼讓java來實現我的目的,一個oopjava程序應該怎麼寫才合理。

……

答辯終於結束了。我最大的成就感不適圓滿地完成了任務,而是我覺得我已經慢慢地真正進入javaoop世界了!

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章