java中多態(tài)的理解 面向?qū)ο蟮奶卣饔心男┓矫?,封裝、繼承、抽象、多態(tài)?
面向?qū)ο蟮奶卣饔心男┓矫?,封裝、繼承、抽象、多態(tài)?關(guān)鍵詞:面向?qū)ο筇卣鞣庋b繼承封裝、繼承、抽象、多態(tài)抽象:抽象就是忽略與當(dāng)前目標(biāo)無(wú)關(guān)的主題方面,從而更加關(guān)注與當(dāng)前目標(biāo)相關(guān)的方面。抽象并不打算理解所有的
面向?qū)ο蟮奶卣饔心男┓矫?,封裝、繼承、抽象、多態(tài)?
關(guān)鍵詞:面向?qū)ο筇卣鞣庋b繼承封裝、繼承、抽象、多態(tài)抽象:抽象就是忽略與當(dāng)前目標(biāo)無(wú)關(guān)的主題方面,從而更加關(guān)注與當(dāng)前目標(biāo)相關(guān)的方面。抽象并不打算理解所有的問(wèn)題,而只是選擇其中的一部分,而不是其中的一部分細(xì)節(jié)。摘要包括兩個(gè)方面,一是過(guò)程摘要,二是數(shù)據(jù)摘要。繼承:繼承是連接類(lèi)的層次模型,它允許并鼓勵(lì)類(lèi)的重用。它提供了一種清晰表達(dá)共性的方式??梢詮默F(xiàn)有類(lèi)派生新的對(duì)象類(lèi)。這個(gè)過(guò)程稱(chēng)為類(lèi)繼承。新類(lèi)繼承了原始類(lèi)的特性。新類(lèi)稱(chēng)為原始類(lèi)的派生類(lèi)(子類(lèi)),而原始類(lèi)稱(chēng)為新類(lèi)的基類(lèi)(父類(lèi))。派生類(lèi)可以從基類(lèi)繼承方法和實(shí)例變量,類(lèi)可以修改或添加新方法,使它們更適合于特殊需要。封裝:封裝是圍繞進(jìn)程和數(shù)據(jù),而對(duì)數(shù)據(jù)的訪(fǎng)問(wèn)只能通過(guò)定義的接口。面向?qū)ο笥?jì)算的基本概念是,現(xiàn)實(shí)世界可以被描述為一系列完全自治和封裝的對(duì)象,這些對(duì)象通過(guò)受保護(hù)的接口訪(fǎng)問(wèn)其他對(duì)象。多態(tài)性:多態(tài)性允許不同的對(duì)象響應(yīng)相同的消息。多態(tài)性包括參數(shù)多態(tài)性和包含多態(tài)性。多態(tài)語(yǔ)言具有靈活性、抽象性、行為共享性和代碼共享性等優(yōu)點(diǎn),解決了應(yīng)用函數(shù)同名的問(wèn)題。
面向?qū)ο笾?什么是多態(tài),有什么意義?
簡(jiǎn)而言之,多態(tài)性意味著“相同的表達(dá)式,不同的操作”,或者“相同的命令,不同的操作”。這是從面向?qū)ο笳Z(yǔ)義的角度出發(fā)的。多態(tài)性的意義在于它實(shí)現(xiàn)了接口重用(相同的表達(dá)式)。接口重用的優(yōu)點(diǎn)是程序易于擴(kuò)展,代碼重用更加方便靈活,能夠真實(shí)反映現(xiàn)實(shí)世界。
在面向?qū)ο箝_(kāi)發(fā)中,是否存在某些類(lèi)中存在一些或一部分代碼重復(fù),而卻沒(méi)有任何比較好的辦法復(fù)用抽象出來(lái)?
您好,很高興回答您的問(wèn)題
在面向?qū)ο箝_(kāi)發(fā)中,封裝、繼承和多態(tài)是基本思想。但是,要正確理解和使用它們,封裝越嚴(yán)格越好。這取決于您的總體業(yè)務(wù)邏輯和編程風(fēng)格。有時(shí)我們?cè)陂喿x別人的代碼時(shí),一句話(huà)也應(yīng)該體會(huì)到過(guò)度封裝和抽象的弊端,如果某些類(lèi)中有一些共同的部分,你當(dāng)然可以將它們分離并重用。但是,公共部分分離的程度取決于編程邏輯。有時(shí),如果某些部分不分開(kāi),就會(huì)產(chǎn)生意想不到的效果。