資源描述:
《實(shí)現(xiàn)抽象圖形——接口與包》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第9章實(shí)現(xiàn)抽象圖形——接口與包能力目標(biāo):理解關(guān)鍵字abstract,能編寫抽象方法和抽象類。理解關(guān)鍵字interface及接口類型,學(xué)會定義并實(shí)現(xiàn)接口。理解關(guān)鍵字package、import及包的作用,能定義和引入包。能在一個包中定義含面積和周長方法的圖形接口,在另一個包中編寫實(shí)現(xiàn)圖形接口的圓類和半圓類,在第三個包中編寫實(shí)現(xiàn)圖形接口的正方形類和正方體類。內(nèi)容介紹9.1任務(wù)預(yù)覽9.2抽象方法與抽象類9.3接口類型9.4接口多重繼承與實(shí)現(xiàn)9.5包9.6本章小結(jié)9.7實(shí)訓(xùn)9:實(shí)現(xiàn)圖形接口9.1任務(wù)預(yù)覽本章實(shí)訓(xùn)程序運(yùn)行結(jié)果:9.2抽象方法與抽象類9.2.1抽象方法與抽象類在類中聲明
2、抽象方法的語法形式:可選public等abstract返回類型方法名(可選參數(shù)表);聲明了抽象方法的類,由于有不能執(zhí)行的方法,因此無法實(shí)例化,即無法構(gòu)建對象,是抽象類。抽象類也用關(guān)鍵字abstract聲明:可選publicabstractclass類名{類成員}注意:含有抽象方法的類一定是抽象類,但抽象類不一定含有抽象方法?!纠?-1】定義抽象圖形類,內(nèi)含抽象的面積和周長方法。定義繼承該類的圓類,重寫并實(shí)現(xiàn)面積和周長方法。再定義繼承抽象圖形類的正方形類。最后定義一個運(yùn)行主類,構(gòu)建圓和正方形對象,并計(jì)算它們的面積和周長。abstractclassShape{//抽象圖形類pu
3、blicabstractdoublecalcArea();publicabstractdoublecalcGirth();}classCircleextendsShape{//繼承抽象圖形類的圓類privatedoubleradius;publicCircle(doubleradius){this.radius=radius;}publicdoublecalcArea(){returnMath.PI*Math.pow(radius,2);}publicdoublecalcGirth(){return2*Math.PI*radius;}}續(xù)例9-1classSquareext
4、endsShape{//繼承抽象圖形類的正方形類privatedoubleborder;//邊publicSquare(doubleborder){this.border=border;}publicdoublecalcArea(){returnMath.pow(border,2);}publicdoublecalcGirth(){returnborder*4;}}publicclassExample1{…CircleaCircle=newCircle(1);System.out.println("構(gòu)造了一個半徑為1的圓");System.out.println("圓面積"
5、+aCircle.calcArea());…SquareaSquare=newSquare(1);System.out.println("構(gòu)造了一個邊長為1的正方形");…9.2.2對比抽象類(方法)與最終類(方法)抽象方法只有被派生類重寫,才能實(shí)現(xiàn)具體功能。抽象類處于類繼承層次結(jié)構(gòu)中的頂層。最終類是不能被繼承的類,處于類繼承層次結(jié)構(gòu)中最底層。最終類與抽象類是水火不相容的。最終方法是不能被派生類重寫的方法。最終方法與抽象方法也是水火不相容,最終方法可以存于最終類,也可存于非最終類。關(guān)于抽象方法、一般方法與最終方法的作用總結(jié)如下:abstract方法只引入方法的名稱。一般方法
6、是方法的一個實(shí)現(xiàn)。final方法是方法的最后一個實(shí)現(xiàn)。9.3接口類型9.3.1接口定義與實(shí)現(xiàn)可選publicinterface接口名{常量字段和抽象方法成員}接口體中主要有最終字段(即常量字段)和抽象方法兩種成員,都默認(rèn)為public,其中常量字段允許省略public和final,抽象方法允許省略public和abstract。接口的作用類似抽象類,不過方法只提供抽象的。接口的抽象方法由類來實(shí)現(xiàn)。實(shí)現(xiàn)接口語法形式如下:可選public等class類名implements接口表{含實(shí)現(xiàn)接口的類成員}實(shí)現(xiàn)接口就是定義一個類,為接口的所有抽象方法提供方法體?!纠?-2】定義圖形接
7、口,內(nèi)含抽象的面積和周長方法等成員。定義實(shí)現(xiàn)該接口的圓類,實(shí)現(xiàn)面積和周長方法。再定義實(shí)現(xiàn)圖形接口的正方形類。最后定義運(yùn)行主類,構(gòu)建圓和正方形對象,并計(jì)算它們的面積和周長。interfaceShapeable{//能成形的圖形接口publicfinaldoubleMIN_AREA=0;//可以省略publicfinalpublicfinaldoubleMIN_GIRTH=0;//可以省略publicfinalpublicabstractdoublecalcArea();//可以省略publicabstractpubl