來談談物件導向程式設計(OOP)吧!!

撰寫習慣的改變 Class

        寫Android有一段時間了,在寫android初期,還是改不了以前函式化(Function)程式的習慣,直到程式愈來愈複雜,在不同的activity中,有時後會用到相同的函式(Function),當時,還真的很天真的把不同函式複製到另一個activity。
        當然在維護時,就發現了麻煩,當那個函式需要修正,就需要到每一個activity把該函式做修正,這時,才很認真的去看去學習物件導向。

Function VS Class

        在剛開始試著去寫物件導向的時後,確實,會不太習慣,很習慣性的就把重覆用到的事情寫成了函式,但換個角度去想,當程式從一個檔案擴展到第二個、第三個、第四個、甚至好幾個的時後,其實類別(Class),就好像是個全域化的函式(Function),所有的程式,以java來說好了,所有的java檔,就都可以使用了。

類別(Class)與物件(Object)

        寫成類別的好處之一,剛剛已經提到,而類別,功能上又比函式更強大,一個類別,可以包含好幾個函式,好幾個變數,當對這個類別做了"new"的動作後,就會產生了物件。

/*假設有個class 叫作 X*/
X x = new X();

new完後,上面例子的x就是物件,這個時後,x才是真的能使用的東西。當然,一樣可以再建立一個y物件,y和x 是個別不相同的物件,裡面也可以存不同的資料。

/*假設X有個變數叫value*/
x.value=123
/*假設X有個函式叫test*/
x.test();
使用時,上面例字可以看到 X有個變數是value,就可以直接用"x.value"去改變或讀取它,有個函式叫test,使用上就是"x.test()",剛剛有提到建立了另一個y物件,使用上,就是y.value,是y的value值,與x的value會是不同的。
        最後,程式就會變成一個一個物件去組成一個大程式。維護上,就會方便許多。其他有關繼承、多型、封裝、變數函式的權限(public、private…)等等就留著以後再來述敘吧。

沒有留言:

不再限制您的多媒體創作:使用NDI快速傳輸、處理和編輯高品質的視訊和音訊。

NDI(Network Device Interface)是一種基於IP網絡的視訊和音訊傳輸協議,它可以讓您在同一網絡上的不同設備之間傳輸高品質的視訊和音訊。使用NDI,您可以將視訊和音訊直接傳輸到其他設備上,而不需要使用任何額外的硬體。 以下是使用NDI的步驟: 下載並安裝ND...