- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
JAVA 程式設計與資料結構 第七章 繼承與Interface 繼承 一個class可以承繼另一個class,被繼承的class稱為super class,繼承的class 稱為subclass。用關鍵字extends來修飾。 繼承的物件擁有被繼承物件的所有變數以及方法,除非繼承的物件設計新的方法覆蓋過被繼承物件中的方法。 繼承範例 Overriding 如果在子類別裡宣告跟父類別相同的方法(擁有相同的變數),那麼在子類別裡的方法將會覆蓋過父類別的方法,稱為overriding。 也就是說如果繼承的class內擁有與被繼承的class中同名的method,則以繼承的class中所定義的為準。 Abstract 有時候當我們設計一個class,它並沒有被instantiated的必要,也就是說我們不會new一個這樣的物件,這個時候我們可以將其設計為abstract。 被定義為abstract的class不能被instantiated,也就是說無法使用new關鍵字來建立一個instance,但是此class可以被繼承。 被abstract修飾的方法無須有內容,必須在繼承的class中定義。 範例 Interface及多重繼承 在Interface中可以宣告abstract的方法(method)及常數(constant),而讓其它的class來安裝這些方法。 但是Interface僅提供方法的宣告部分,並不提供實現(implements)的部分,因此Interface純為設計的用途,不像class除了提供方法(method)的宣告之外,也可以實現(inplements),因此同時具有設計及實現的功能。 Interface間也可以相互繼承。 Implements 多重繼承 * * class OfficeEmployee extends Employee { ? double weight; ? double height; ? OfficeEmployee (String s, int i) { ? super(s, i); ? } // Constructor 繼承自class Employee,使用關鍵字extends super代表被繼承的物件,也就是Employee abstract class Student{ ? String name; ? String ID; ? int grade; ? public Student() { ? } // Constructor ? ? ? abstract public void computeGrade(int extra); public String getID() { ? return ID; ? }//getID() ? }// Student Abstract修飾的方法,在繼承的class中定義其用法。 public interface AreaInterface{ ? double area(); // 面積 ? double circ(); // 週長 ? }//AreaInterface class SquareAreaImplements implements AreaInterface{ ? double w, h; ? SquareAreaImplements (double w, double h) { ? this.w = w; ? this.h = h; ? }//Constructor ? public double area() {return w*h;} ? public double circ() {return 2*(w+h);} ? }// SquareAreaImplements 此interface中定義兩個方法,其純粹只是一個想法。 此class實現AreaInterface,必須完成其中所定義的方法,因為楮瑥牦慣e中定義的方法視為abstract修飾的方法。 Class A Interface B Class C extends classA implements interfaceB extends implements *
您可能关注的文档
最近下载
- 《3D打印技术概论》电子教案.pdf VIP
- 水平一(一、二年级)《体育与健康》全册教案.pdf VIP
- DB22T 162-2017建筑消防设施检验规程.docx
- 中国肿瘤整合诊疗指南(2025版)结直肠癌及肛管癌更新要点解读.pptx VIP
- 第11课 依法从事民事活动 教案 中职高教版 职业道德与法治.pdf
- 03婴幼儿练习试题附答案(一).docx VIP
- 《救救我小猫》超清有声动态PPT课件.pptx VIP
- 全国党员管理信息采集表及采集标准.pdf VIP
- 山山水水(教学设计)人美版2025美术一年级下册 .pdf VIP
- 工学一体化课程《小型网络管理与维护》任务2单元2教学单元活动方案.docx VIP
文档评论(0)