第10章抽象类与终结类.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第10章 抽象类与终结类 抽象类与抽象方法 终结类与终结方法 定义Lease类及其子类 声明及使用自定义异常 10.5 本章小结 如果一个类中包含了抽象方法,就需要将这个类定义为抽象类。 抽象类中除了包含抽象方法,还可以包含非抽象方法,另外,还可以拥有实例属性和实例方法。 定义抽象类的目的是要定义其子类来实现其中的抽象方法,而终结类正好相反,定义终结类的目的是禁止定义其子类。 非终结类的任何类都可以扩充。 10.3 定义Lease类及其子类 定义Lease的子类BookLease 10.3 定义Lease类及其子类 定义Lease的子类BookLease 10.3 定义Lease类及其子类 定义Lease的子类BookLease 10.3 定义Lease类及其子类 定义Lease的子类DailyLease Lease的子类DailyLease增加的属性为dayNum(租用的天数)。 其值可根据起始日期和终止日期来计算。 计费按每天0.2元收取。 10.3 定义Lease类及其子类 定义Lease的子类DailyLease 10.3 定义Lease类及其子类 定义Lease的子类DailyLease 10.3 定义Lease类及其子类 定义Lease的子类DailyLease 10.3 定义Lease类及其子类 测试BookLease类和DailyLease类 10.3 定义Lease类及其子类 测试BookLease类和DailyLease类 10.3 定义Lease类及其子类 测试BookLease类和DailyLease类 10.4 声明及使用自定义异常 用户自定义的所有异常类都必须是Exception的子类。 一般的声明方法如下: 10.4 声明及使用自定义异常 定义DateInputException 定义一个Exception的子类DateInputException 10.4 声明及使用自定义异常 抛出自定义异常 在 DailyLease 类中,设置结束日期时,如果结束日期小于开始日期,则抛出日期输入无效的异常。 修改Lease 类中的setEndDate()方法: 10.4 声明及使用自定义异常 抛出自定义异常 测试代码 10.4 声明及使用自定义异常 抛出自定义异常 测试代码 10.4 声明及使用自定义异常 创建多个日租约对象 批处理接受事物处理集合,然后一个个地对它们进行处理,如果成功地完成了事物处理,则显示成功消息; 如果出现异常,会显示异常消息,但应用程序会继续处理,直到完成批处理为止。 * * 10.1 抽象类与抽象方法 抽象类的定义 抽象类声明的语法形式: public abstract class Shape { // 类体 } 10.1 抽象类与抽象方法 抽象类的定义 抽象类是不能使用new方法进行实例化的类,即没有具体实例对象的类。 抽象类可以包含常规类能够包含的任何东西,包括构造方法。 抽象类也可以包含抽象方法,这种方法只有方法的声明,而没有方法的实现。 10.1 抽象类与抽象方法 声明抽象类的理由 抽象类是类层次中较高层次的概括,抽象类的作用是让其他类来继承它的抽象化特征; 抽象类可以包括被它的所有子类共享的公共属性和行为; 在程序中不能用抽象类作为模板来创建对象; 在用户生成实例时强迫用户生成更具体的实例,保证代码的安全性。 10.1 抽象类与抽象方法 抽象类举例 如果在应用中仅仅需要Circles(圆)、Triangles(三角形)、Rectangles(四边形)和Squares(正方形),那么这些类的所有公共属性及方法可以抽象到Shape类中,将Shape类声明为抽象类。 10.1 抽象类与抽象方法 抽象类举例 如果还需要区分2D及3D对象,则需要将2D及3D对象的特性分别抽取出来。 10.1 抽象类与抽象方法 抽象方法 抽象方法声明的语法形式 抽象方法体的具体实现是由当前类的不同子类在它们各自的类声明中完成的。 10.1 抽象类与抽象方法 抽象方法 在使用抽象方法时需要注意以下几点: 一个抽象类的子类如果不是抽象类,则它必须为父类中的所有抽象方法书写方法体,即重写父类中的所有抽象方法。 只有抽象类才能具有抽象方法,也就是说,如果一个类中含有抽象方法,则必须将这个类声明为抽象类。 除了抽象方法,抽象类中还可以包括非抽象方法。 10.1 抽象类与抽象方法 抽象方法举例 贷款(Loan)分为许多种类,如租借(Lease)、抵押(Mortgage)、房屋贷款(HouseLoan

文档评论(0)

allap + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档