資源描述:
《面向?qū)ο缶幊探涌诤统橄箢?ppt》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第四章面向?qū)ο缶幊瘫菊轮饕獌?nèi)容4.1簡介4.2面向?qū)ο蟮幕靖拍?.3面向?qū)ο蟮幕菊Z法4.4類和包4.5對象4.6繼承和多態(tài)4.7接口和抽象類4.8面向?qū)ο箝_發(fā)概念4.9總結(jié)課程回顧在繼承中,一般常見的有那些技術(shù)方法的覆蓋和重載的區(qū)別在繼承中,一般常見的有:屬性繼承,屬性隱藏,方法繼承,方法覆蓋,方法重載等技術(shù)方法覆蓋返回值,參數(shù),函數(shù)名完全一致函數(shù)覆蓋的時候,只有子類的函數(shù)可以被引用一般用在希望完全摒棄父類函數(shù),重寫函數(shù)代碼的情況方法重載只有參數(shù)不一致的情況下,子類的函數(shù)重載父類的函數(shù)子類和父類的函數(shù)是不同的函數(shù),可
2、以被同時引用一般用在擴(kuò)充父類函數(shù)功能,同時保留古老的父類函數(shù)4.7接口和抽象類控制復(fù)雜性是計算機(jī)編程的本質(zhì).——BrianKernigan(Unix操作系統(tǒng)的先驅(qū))4.7.1抽象類java語言中,用abstract關(guān)鍵字來修飾一個類時,這個類叫做抽象類用abstract關(guān)鍵字來修飾一個方法時,這個方法叫做抽象方法格式如下:抽象類抽象方法publicabstractclassabstractClass{…}abstractreturnTypeabstractMethod([paramlist]);4.7.1抽象類抽象類聲明
3、時采用的語法:例子:人類是個很典型的抽象類參看課本例4.18錯誤的聲明方法:參看課本例4.19publicabstractclassPerson{privateStringname;publicabstractStringgetDescription();publicStringgetName(){returnname;}}Personperson=newPerson();抽象類抽象方法抽象類是不能實例化對象的[修飾符]abstractclass類名{}4.7.2抽象方法抽象方法也是由abstract修飾,它屬于一種不完
4、整的方法,只含有一個聲明,沒有方法主體。語法:抽象方法作為抽象類重要的組成部分,它通常描述這各個子類都擁有但又彼此互不相同的方法。[訪問修飾符]abstract[返回值類型]方法名();4.7.1抽象類抽象類不能被實例化若類中包含了抽象方法,則該類必須被定義為抽象類publicabstractclassPerson{privateStringname;publicabstractStringgetDescription();publicStringgetName(){returnname;}publicPerson(St
5、ringn){name=n;}}publicclassEmployeeextendsPerson{privatedoublesalary;publicEmployee(Stringn,doubles){//傳遞信息到父類構(gòu)造函數(shù)super(n);salary=s;}publicdoublegetSalary(){returnsalary;}publicStringgetDescription(){return"員工的工資是:"+salary;}}抽象類必須被繼承抽象方法必須被重寫抽象方法只需聲明,無需實現(xiàn)抽象類不一定要包
6、含抽象方法4.7.2抽象方法例:完整的抽象類實例:參看課本例4.204.7.3接口接口(Interface)是對符合接口需求的類的一套規(guī)范接口主要作用是可以幫助實現(xiàn)類似于類的多重繼承的功能。Java中聲明接口的語法如下:4.7.3接口一個Java接口是一些方法特征的集合,但沒有方法的實現(xiàn)接口是由常量和抽象方法組成的特殊類參看例4.21publicinterfaceShape{??publicabstractdoublearea();publicabstractdoublevolume();publicabstractS
7、tringgetName();}這是Java接口4.7.3接口publicclassPointextendsObjectimplementsShape{………//返回面積publicdoublearea(){return0.0;}//返回體積publicdoublevolume(){return0.0;}//返回類名稱publicStringgetName(){return"Point";}}Java接口中定義的方法在不同的地方被實現(xiàn)可以具有完全不同的行為參看課本例4.224.7.3接口接口的定義接口的定義包括接口聲明
8、和接口體接口體包括常量定義和方法定義接口的實現(xiàn)在類的聲明中用implements子句來表示一個類使用某個接口在類體中可以使用接口中定義的常量,而且必須實現(xiàn)接口中定義的所有方法一個類可以實現(xiàn)多個接口,在implements子句中用逗號分開接口類型的使用接口作為一種引用類型來使用任何實現(xiàn)該接口的類的實例都可以存儲在該接口