- 1、本文档共66页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5章 继 承 与 多 态 继承性与多态性是面向对象程序设计的另外两个重要特性。在Java语言中,提供了能够实现继承性与多态性的完备技术,这使得更多的人们愿意将Java作为软件开发语言,进而充分地施展面向对象抽象性、封装性、继承性与多态性的优势,为构筑新时代的软件开发理念奠定了坚固基础。 目 录 5.1 类的继承 5.2 类成员函数的重载与覆盖 5.3 抽象类 5.4 接口 5.5 包 5.6 综合应用举例 5.1 类的继承 继承机制是面向对象程序设计不可缺少的关键概念,是实现软件可重用的根基,是提高软件系统的可扩展性与可维护性的主要途径。所谓继承是指一个类的定义可以基于另外一个已经存在的类,即子类基于父类,从而实现父类代码的重用,在有些教材中,又将父类称为超类或者基类。 继承关系的UML图形符号表示法 两个类的继承关系可以用“is a”表示,即子类是父类所描述的实体集中的子集。也就是说,父类涵盖更加共性的特征,更加具有一般性,子类增加的内容更加具有个性,是一般性之外的特殊内容,因此,又可以说,这种类的继承关系充分地反映了“一般与特殊”的关系。 5.1.1 定义子类 在Java语言中,定义子类的语法格式为: [修饰符] class 子类名 extends 父类名 { 子类体 } 其中,“修饰符”是子类的访问特性说明符等;class为定义类的关键字,“子类名”是子类的名称;extends是关键字,“子类体”是子类在继承父类内容的基础上,添加的特有内容。 EmployeeClass类与ManagerClass类的关系图 // file name:EmployeeClass.java public class EmployeeClass { // 雇员类 private String name; // 姓名 private double salary; // 工资 private String department; // 部门 public EmployeeClass() { ... } public EmployeeClass(String name, double salary, String department){ ... } public void setName(String name) { ... } public void setSalary(double salary) { ... } public void setDepartment(String department) { ... } public String getName() { ... } public double getSalary() { ... } public String getDeparyment() { ... } public String toString() { ... } } public ManagerClass extends EmployeeClass { // 经理类 private double special; // 特殊津贴 public ManagerClass() { ... } public ManagerClass(String name, double salary, String department, double special) { ... } public void setSpecial(double special) { ... } public double getSpecial() { ... } public String toString() { ... } } 举例:设计与几何图元有关的类。 问题分析:几何图元是指可以绘制的基本几何图形,例如矩形、正方形、圆形、多边形等。鉴于篇幅的考虑,这里只考虑矩形与正方形。 假设任何几何图元都有颜色与位置两个属性,因此应该将这些共有特性定义在一个类中,它是顶层类;而矩形还应该有长、宽两个属性,由于矩形是一种几何图元,所以它自然应该拥有几何图元的共有特性,因此可以将矩形类设计为几何图元类的子类;因为正方形是一种特殊的矩形,它的特殊性在于长与宽相等,所以应该将正方形类设计为矩形的子类。 ShapeClass类、RectangleClass类与SquareClass类之间的关系类图 ShapeClass类是几何图元的通用类;矩形是一种特定的几何图元,因此,RectangleClass类应该是ShapeClass的子类;正方形
您可能关注的文档
最近下载
- 浙江金龙电机永磁伺服电机样本.pdf VIP
- 上海高中数学目录.doc VIP
- ELDFHG-04 06EH新样本资料2020年新版.pdf
- 产教融合视域下的新能源汽车技术专业教学改革路径探索.docx VIP
- 内科学教学课件:急性胰腺炎1.ppt VIP
- 行政法重要考点.pdf VIP
- 少数民族教育政策影响少数民族大学生国家认同研究-来源:中国校外教育(第2020015期)-中国儿童中心.pdf VIP
- 八年级数学下册专题19.4一次函数与方程、不等式之间的关系【十大题型】(举一反三)(人教版)含答案与解析.pdf
- 东芝 e-STUDIO 2000AC 2500AC 彩色复印机中文服务便携维修代码手册.pdf VIP
- 2025款比亚迪汉EV尊贵享豪华旗舰型_用户手册驾驶指南车主车辆说明书电子版.pdf
文档评论(0)