- 1、本文档共141页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
第7章面向对象程序设计(下)1
教学目标(1) 理解父类和子类的关系,使用关键字extends扩展一个类(2) 理解protected访问权限,应用访问修饰符实现更好的信息隐藏(3) 理解子类构造方法的执行,掌握super的用法。(4) 理解在子类中重写父类方法,能应用方法重写(5) 使用final关键字防止类的继承和方法重写(6) 理解密封类的定义和用途(7) 理解Object类,能应用和重写其常用方法toString()、equals()(8) 掌握多态和动态绑定(9) 掌握对象的类型转换(10) 掌握抽象类的概念和应用,理解抽象类示例(11) 掌握接口的概念,掌握接口的声明和使用(12) 掌握父接口、子接口、默认方法及其冲突的解决(13) 理解密封接口和注解接口(14) 理解接口的示例(15) 理解抽象类与接口的区别(16) 理解面向对象程序设计的5个原则2
引言(1/3)3假设要定义一个类,对圆、矩形、三角形建模。这些类有很多共同的特性(画线颜色、填充与否、创建时间等等)。
引言(2/3)4设计这些类,如何避免冗余,还能使系统易于理解和易于维护?答案是:继承,可提炼公共属性和行为创建一个通用的几何对象类Shape软件重用:在扩展创建新的几何形状时,可以进一步重用Shape例如:正六边形、正五边形、梯形等
引言(3/3)Stoptryingtoreinventthewheel,可能是每个程序员入行被告知的一条准则软件重用继承:一种基于源代码的重用机制多态:解决类的功能和行为在继承体系中的再抽象5
内容7.1继承7.2super7.3方法重写7.4final7.5密封类67.6Object类7.7多态性7.14抽象类与接口7.8动态绑定7.9对象转换7.10抽象类7.11抽象类示例7.12接口7.13接口示例
内容7.1继承7.2super7.3方法重写7.4final7.5密封类77.6Object类7.7多态性7.14抽象类与接口7.8动态绑定7.9对象转换7.10抽象类7.11抽象类示例7.12接口7.13接口示例
7.1继承87.1.1父类与子类7.1.2protected数据和方法
7.1.1父类与子类Java语言是一种单继承的语言,在父类的基础上定义其子类的一般语法形式为:publicclass子类名extends父类名{子类的新成员}需要说明的是:(1)子类名是一个合法的标识符,由用户自己定义。(2)关键字extends用在子类名之后,指定父类名,父类只允许有一个。(3)父类名必须是程序中已有的一个类的类名。(4)父类名之后是子类的类体,由一对花括号{}括起来,这对花括号中的内容是子类新定义的成员。9
7.1.1父类与子类银行账户类Account借记卡账户DebitCardAccount(不允许透支,具有余额)信用卡账户CreditCardAccount(允许透支,但有限额)这两种账户都共享银行账户Account的共同特征,并有新增功能。10
7.1.1父类与子类银行账户类Account、借记卡账户类DebitCardAccount、信用卡账户类CreditCardAccount的源代码分别在程序清单7-1、程序清单7-2、程序清单7-3中给出程序清单7-4TestCreditDebitAccount.java,对上述类进行测试11
7.1.1父类与子类基于上述示例,Java语言的继承机制需要注意的是:(1)Java语言是一种单继承语言,即子类继承父类使用关键字extends时,extends之后只能有一个父类名。(2)子类继承父类的内容,还可以新增内容和重写继承的内容。因此,子类不是父类的子集。(3)据Java语言官方文档,子类继承了父类中所有可被访问的成员(数据域和方法),但是构造方法不属于这类成员,父类构造方法不被能子类继承。然而,父类构造方法可以被子类调用,用于完成子类的初始化工作。例如,程序清单7-2第20行就是父类构造方法调用。(4)据Java语言官方文档,子类既不能继承父类的私有成员,也不能直接访问这些私有成员。如果父类定义了访问私有成员的公有或保护方法,那么子类可以通过这些父类的公有或保护方法间接访问这些私有成员。(5)不是所有“是一种(is-a)”关系都应该用继承来建模。例如,正方形是一种矩形,但是不应该定义一个正方形类继承自矩形类。12
7.1.1父类与子类注意:关于父类私有成员的继承问题辨析。从内存分配上讲,子类确实继承父类的私有成员。因为在实例化一个子类对象时,系统先为父类中定义的数据域(包括私有成员)分配内存,再为子类中定义的数据域分配内存,所有这些数据域都是属于这个新创
您可能关注的文档
最近下载
- 晚清外交转型+课件--2025届高三统编版(2019)历史二轮专题复习.pptx VIP
- BMC-ASPEED2400-开发专用数据手册.pdf
- ГОСТ 17376-2001- 俄标三通中文版.pdf
- 语文一年级上册《升国旗》.pptx VIP
- 主仆契约协议书.docx VIP
- 鄂尔多斯市公安辅警考试真题.pdf VIP
- 部编版六年级下册语文综合性学习:奋斗的历程.pptx
- 2025-2026学年度第一学期人教版物理九年级上册 13.2 分子动理论的初步知识 课件.pptx VIP
- 英语口语8000句(全)课件.pdf VIP
- AP统计学 2018年真题 附答案和评分标准 AP Statistics 2018 Real Exam with Answers and Scoring Guidelines.pdf VIP
文档评论(0)