最贊回答 / 零零拾
類(lèi)使對(duì)象的模板 通過(guò)類(lèi)可以實(shí)例化出對(duì)象 這樣已經(jīng)很完美了 但是如果設(shè)計(jì)基類(lèi)卻成了非常講究技巧的事情 如果基類(lèi)設(shè)計(jì)的過(guò)于繁重就會(huì)影響通用性 如果基類(lèi)設(shè)計(jì)的過(guò)于簡(jiǎn)單 將會(huì)使代碼變得復(fù)雜 此時(shí)就該接口出場(chǎng)了 接口往往代表著一種能力 推薦把接口明明城動(dòng)詞 比如說(shuō) 定義一個(gè)基類(lèi)叫動(dòng)物 貓繼承了動(dòng)物 然后在定義接口吃/泡/叫等等 這樣以后有什么其他的類(lèi)出現(xiàn)了 比如外星人 可能并不是動(dòng)物 但是他可能會(huì)跑 這樣就能直接實(shí)現(xiàn)這個(gè)接口 最主要的使可以直接要求外星人跑 而不需要進(jìn)行單獨(dú)的處理 常見(jiàn)的應(yīng)用也很多 比如,事件監(jiān)聽(tīng),...
2017-03-10
new方法是創(chuàng)建實(shí)例化一個(gè)對(duì)象,override是對(duì)虛方法進(jìn)行重寫(xiě)。
2017-03-05
最贊回答 / 慕粉1717395010
如果是new,那你用基類(lèi)聲明一個(gè)子類(lèi)的變量時(shí),他不會(huì)調(diào)用子類(lèi)new的方法,而是調(diào)用基類(lèi)的方法,”E:Pet cat1=new Cat("Tom"); “ ? cat1.Speaking仍是調(diào)用基類(lèi)的Speaking; 如果是用虛方法,“E:Pet cat2=new Cat("Tom"); ” ,cat2.Speaking調(diào)用的就是派生類(lèi)的Speaking;不知道我講的你能懂不,我也是剛學(xué)的。
2017-03-05