博学实训软件工程JAVA面向对象第3章-抽象类和接口.pptVIP

博学实训软件工程JAVA面向对象第3章-抽象类和接口.ppt

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
博学实训软件工程JAVA面向对象第3章-抽象类和接口

* * * * 结合前面的例子来讲解。强调现在理解不了也不要紧,可以先记住,以后用多了,再回头看这些原则,理解会上一个层次。 本次课答疑时间至少占1学时,重点答疑《阶段练习——汽车租赁》项目中的难点和问题 * Page ? * LOGO 国家信息化人才培养工程(深圳博学)授权实训基地 Page ? * LOGO 国家信息化人才培养工程(深圳博学)授权实训基地 第三章 抽象类和接口 预习检查 定义抽象类和抽象方法的关键字是什么? 定义接口的语法是什么? 抽象类和接口的相同点和不同点分别是什么? 提问 本章任务 模拟实现“愤怒的小鸟”游戏 抽象类的定义和使用 理解接口概念 理解面向对象设计原则 理解抽象类和接口的优势 本章目标 接口的定义和使用 点重 理解抽象类概念 点难 点重 讲解:为什么使用抽象方法和抽象类 交通工具 公交车类 方法: 行驶(公路驾驶) 地铁类 方法: 行驶(地下轨道) 自行车类 方法: 行驶(人力蹬) 实现父类行驶方 法有意义吗? 每个子类有独特的行驶方法 交通工具类(抽象类) 交通工具类 方法:行驶 抽象方法:行驶 串讲:对比普通方法和抽象方法 对比普通方法与抽象方法 public void show(){ System.out.println(hello); } public abstract void show(); 区别 普通方法必须要有方法体,抽象方法不能有方法体(大括号也没有) 抽象方法要用abstract修饰 抽象方法必须存在于抽象类中 串讲:对比普通类和抽象类 对比普通类与抽象类 public class Person{} Person p = new Person(); public abstract class Person{} Person p = new Person(); 区别 抽象类要用abstract修饰 普通类可以实例化,抽象类不能实例化 简单的说,抽象类是一个不能实例化的类,它可以具有抽象方法或者普通方法 串讲:抽象类的应用 需求描述 模拟“愤怒的小鸟”游戏中各种鸟的行为 问题 抽象类 鸟 飞行:弹射-飞 叫:嗷! (抽象方法)攻击 分裂鸟 攻击:分裂攻击 火箭鸟 攻击:加速冲撞 分析 使用抽象类定义鸟类 飞行和叫为抽象类的普通方法 攻击为抽象类的抽象方法 在子类中实现攻击方法 演示示例:抽象类的应用 串讲:抽象类的优势 抽象类可以将已经实现的方法提供给其子类使用,使代码可以被复用 抽象类中的抽象方法在子类中重写,保证了子类还具有自身的独特性 例如:鸟的飞行和叫的方法,不需在子类重复实现 例如:每个鸟都有自己独特的攻击行为 通过抽象类指向其子类的对象,可以实现多态 判断对错 抽象类中只能定义抽象方法。 声明抽象类和抽象方法都使用abstract关键字。 抽象类不能实例化。 小结 提问 串讲:理解接口 生活中的接口是指某些企业和组织等制定的一种约定或标准(USB) 串讲:理解接口 Java 中的接口提供一种约定,使得实现接口的类在形式上保持一致 public interface 接口名{ //抽象方法 } 语法 定义和实现接口 public 类名 implements 接口{ // 实现接口的方法 //普通方法 } 演示示例:使用接口描述USB 一个类实现一个接口,则要求实现接口中的所有方法 注意 串讲:对比抽象类和接口 对比抽象类与接口 public abstract class Person{ //抽象方法 //普通方法 } public interface Person{ //抽象方法 } 区别 抽象类使用abstract声明,接口使用interface声明 抽象类可以包含抽象方法(必须使用abstract关键字)和普通方法 接口只能包含抽象方法(无须使用abstract关键字) 接口和抽象类一样,不能实例化 抽象类与接口有什么区别? 提问 讲解:认识抽象类的局限性 实现“愤怒的小鸟”游戏中鸟叫的行为 抽象类 鸟 飞行:弹射-飞 叫:嗷! 攻击(抽象方法) 分裂鸟 攻击:分裂攻击 火箭鸟 攻击:加速冲撞 红色鸟 攻击:普通攻击 叫:喳喳 炸弹鸟 攻击:爆炸攻击 叫:喳喳 胖子鸟 攻击:扔蛋攻击 叫:不叫 代码冗余,复用度差 讲解:使用接口优化程序设计 将鸟叫的行为定义为接口 实现接口实现各种具体的叫声 将鸟叫行为作为抽象鸟类的一个属性 如何用接口实现鸟叫的行为,能有效避免代码冗余,又能保证扩展性? 问题 分析 演示示例:使用接口优化程序设计 串讲:实现多个接口 一个类只能继承一个父类,但能同时实现多个接口,也可以同时继承抽象类和实现接口 class 类名 extends 父类名

文档评论(0)

181****2553 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档