如果文章對(duì)你有所幫助,請(qǐng)點(diǎn)喜歡并關(guān)注,這將是我最大的動(dòng)力疑务,謝謝
首先我們都知道面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言最了不起的優(yōu)點(diǎn)之一就是她的可復(fù)用性眠寿,而到底如何實(shí)現(xiàn)可復(fù)用性呢,今天我們來(lái)簡(jiǎn)單的探討一下。
最簡(jiǎn)單地復(fù)用某個(gè)類的方式就是直接使用該類的一個(gè)對(duì)象,此外也可以將那個(gè)類的一個(gè)對(duì)象置于某個(gè)新類中羞芍。我們稱其為“創(chuàng)建一個(gè)成員對(duì)象”堂竟。新的類可以由任意數(shù)量魂毁、任意類型的其他對(duì)象以任意可以實(shí)現(xiàn)新的類中想要的功能的方式所組成〕鲟冢——Thinking in Java
所謂成員對(duì)象席楚,也就是像該書(shū)中說(shuō)的一樣,打個(gè)比方税稼,A類的成員變量的類型是B類烦秩,那么A類的成員變量的屬性就是B類的屬性,那么該成員變量也可以調(diào)用與之所對(duì)應(yīng)類型的B類的方法娶聘。
- 下面通過(guò)一個(gè)小demo來(lái)看一下他的具體實(shí)現(xiàn)
我們想要通過(guò)程序來(lái)描述書(shū)闻镶,那么我們可以將之定義為書(shū)類,而書(shū)中我們大致也分為電子書(shū)和紙質(zhì)書(shū)兩種丸升,顯然铆农,將他們都放在書(shū)類來(lái)寫(xiě),程序必定冗余繁雜狡耻,并且后期維護(hù)困難墩剖,這時(shí)就是“成員對(duì)象”大顯身手的時(shí)候了。我們不妨將電子書(shū)和紙質(zhì)書(shū)分別單獨(dú)歸位一類夷狰,最后用書(shū)類來(lái)個(gè)大一統(tǒng)岭皂。具體代碼如圖 -
這是電子書(shū)類
- 下面是紙質(zhì)書(shū)類
- 最后是大哥出場(chǎng)時(shí)間
當(dāng)然對(duì)于以上代碼,也許用繼承能更好的實(shí)現(xiàn)沼头,繼承我們之后再談爷绘。
- 下面說(shuō)一下我個(gè)人在學(xué)習(xí)過(guò)程中的一些心得
可能有人剛從面向過(guò)程的學(xué)習(xí)過(guò)度到面向?qū)ο螅瑢?duì)于類里定義的成員變量不是基礎(chǔ)類型如Int double进倍,而是一個(gè)自己定義的類土至,在用的時(shí)候有些一時(shí)轉(zhuǎn)不過(guò)彎來(lái)。
對(duì)此我想說(shuō)猾昆,把int型也當(dāng)成一個(gè)類陶因,double型也當(dāng)成一個(gè)類,誠(chéng)然垂蜗,他們都有包裹類楷扬,int型對(duì)應(yīng)Integer類,double型對(duì)應(yīng)Double類贴见,在用法上類和類是一樣的
如
int i=10;
Integer i=new Integer(10);//這里的和我們定義的類都一樣烘苹,他可以調(diào)用Integer的方法
把基礎(chǔ)類也當(dāng)成我們定義的類來(lái)想象。把 int i=10想象成Integer i=new Integer(10)蝇刀,希望能有所幫助螟加。