面向?qū)ο蟮娜筇卣?/h1>
三大特征:
封裝-->提高程序的安全性 (數(shù)據(jù)的準(zhǔn)確性)
繼承-->提高代碼的復(fù)用性 (重復(fù)使用性)
多態(tài)-->提高程序的可擴(kuò)展性和可維護(hù)性
一、封裝
隱藏對(duì)象內(nèi)部的復(fù)雜性,只對(duì)外公開(kāi)簡(jiǎn)單的接口,便于外界調(diào)用,提高程序的安全性
隱藏實(shí)現(xiàn)的細(xì)節(jié) 僅僅需要關(guān)注具體的功能
方法的抽取 僅僅需要關(guān)注方法的功能 忽略方法實(shí)現(xiàn)的細(xì)節(jié)
項(xiàng)目的模塊化設(shè)計(jì) 層次的劃分
1、對(duì)類(lèi)的屬性進(jìn)行隱藏
使用private關(guān)鍵字 修飾類(lèi)的成員變量
private修飾的成員變量 僅僅可以在當(dāng)前類(lèi)中直接使用

2、給每個(gè)屬性提供公有的get(獲取)和set(賦值)方法

測(cè)試代碼:

總結(jié):
屬性全部隱藏 對(duì)象內(nèi)部的特點(diǎn)不讓外界知道 我們僅僅需要關(guān)注對(duì)象的功能即可 內(nèi)部的實(shí)現(xiàn) 使用了哪些成員 統(tǒng)統(tǒng)不用考慮
數(shù)據(jù)的安全性和和規(guī)范性更高
二、繼承
java中由已知類(lèi)創(chuàng)建新類(lèi)的一種機(jī)制,新類(lèi)擁有已知類(lèi)的屬性和方法,同時(shí),還可以有自己獨(dú)有的屬性和方法
減少相同代碼的反復(fù)編寫(xiě),提高代碼的復(fù)用性,減少編碼量,提高程序的可維護(hù)度
繼承是怎么來(lái)的?
是對(duì)N多個(gè)類(lèi)的抽像
根據(jù)N多個(gè)類(lèi),抽取出像的部分,歸納為父類(lèi),被抽取的類(lèi),稱(chēng)為子類(lèi)
1、在Java中如何實(shí)現(xiàn)繼承?
在java中使用extends (擴(kuò)展)實(shí)現(xiàn)繼承,說(shuō)明子類(lèi)是父類(lèi)的擴(kuò)展
新類(lèi)(子類(lèi))?extends?已知類(lèi)(父類(lèi))
一個(gè)父類(lèi)可以有多個(gè)子類(lèi),但是一個(gè)子類(lèi)只能有一個(gè)直接父類(lèi)

【例】
1、先準(zhǔn)備父類(lèi)

2.準(zhǔn)備子類(lèi)
Audi

BMW

測(cè)試代碼:

2、super關(guān)鍵字
1、當(dāng)子類(lèi)中重寫(xiě)父類(lèi)中同名的屬性
那么在子類(lèi)中父類(lèi)的同名的屬性被隱藏了
如果在子類(lèi)中想繼續(xù)使用父類(lèi)隱藏的屬性 那么要使用super關(guān)鍵字調(diào)用父類(lèi)屬性
2、子類(lèi)對(duì)父類(lèi)同名方法的重新定義叫做方法的重寫(xiě)
子類(lèi)重寫(xiě)父類(lèi)方法之后 父類(lèi)的方法就默認(rèn)隱藏了
如果子類(lèi)想繼續(xù)使用父類(lèi)中被隱藏的同名方法 那么要使用super關(guān)鍵字調(diào)用

三、多態(tài)
一種事物可以有多種表現(xiàn)形態(tài)
父類(lèi)作為方法參數(shù) 所有的子類(lèi)對(duì)象都可以作為實(shí)參
父類(lèi)作為方法的返回值 所有的子類(lèi)對(duì)象都可以返回
子類(lèi)父類(lèi)相互轉(zhuǎn)換:
子類(lèi)對(duì)象可以聲明成父類(lèi)對(duì)象
子類(lèi)擁父類(lèi)的屬性和方法
父類(lèi)不能聲明成子類(lèi)對(duì)象
父類(lèi)對(duì)象可以通過(guò)強(qiáng)制轉(zhuǎn)換聲明成子類(lèi)對(duì)象 可以通過(guò)編譯 但是運(yùn)行的時(shí)候會(huì)出現(xiàn) ClassCastException
當(dāng)父類(lèi)對(duì)象原本就是由子類(lèi)對(duì)象聲明而成的 那么強(qiáng)制轉(zhuǎn)換回子類(lèi) 就不會(huì)報(bào)錯(cuò)
子類(lèi)聲明成父類(lèi)對(duì)象時(shí) 調(diào)用方法會(huì)執(zhí)行子類(lèi)的方法
編譯時(shí) 認(rèn)為是父類(lèi) 只能調(diào)用到父類(lèi)中聲明的方法
執(zhí)行時(shí) 認(rèn)為是子類(lèi) 占用子類(lèi)內(nèi)存 執(zhí)行子類(lèi)方法
