抽象类和接口研究报告.pptx

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第八章 抽象类和接口 第一单元 第1页/共26页 本章相关学习资源 《抽象类和接口》专题 《阶段练习——汽车租赁》专题 《使用Java实现面向对象编程》 第8章 《抽象类和接口》 学习平台“Java 面向对象”课程 学生用书 第2页/共26页 预习检查 定义抽象类和抽象方法的关键字是什么? abstract 定义接口的语法是什么? [public] interface 接口名{ //接口成员 } 普通方法和抽象方法的区别 普通方法必须要有方法体,抽象方法不能有方法体(大括号也没有); 抽象方法只能存在于抽象类/接口中,用abstract修饰,访问修饰符不能用private。 抽象类和普通类有什么区别? 抽象类要用abstract修饰;普通类可以实例化,抽象类不能实例化; 抽象类体现的的是一种模板模式的设计。 第3页/共26页 本章任务 模拟实现“愤怒的小鸟”游戏 第4页/共26页 抽象类的定义和使用 理解接口概念 理解面向对象设计原则 理解抽象类和接口的优势 本章目标 接口的定义和使用 点重 理解抽象类概念 点难 点重 第5页/共26页 讲解:为什么使用抽象方法和抽象类 交通工具 公交车类 方法: 行驶(公路驾驶) 地铁类 方法: 行驶(地下轨道) 自行车类 方法: 行驶(人力蹬) 实现父类行驶方 法有意义吗? 每个子类有自己独特的行驶方法 交通工具类(抽象类) 交通工具类 方法:行驶 抽象方法:行驶 第6页/共26页 串讲:对比普通方法和抽象方法 对比普通方法与抽象方法 public void show(){ System.out.println(hello); } public abstract void show(); 区别 普通方法必须要有方法体(至少包含一对大括号),抽象方法不能有方法体(大括号也没有) 抽象方法要用abstract修饰,访问修饰符不能用private 抽象方法只能存在于抽象类/接口中 第7页/共26页 抽象方法定义 非private访问修饰符 abstract 返回值类型 方法名(参数列表) ; 串讲:对比普通类和抽象类 对比普通类与抽象类 public class Person{} Person p = new Person(); public abstract class Person{} Person p = new Person(); 区别 抽象类要用abstract修饰 普通类可以实例化,抽象类不能实例化(即不能使用new创建对象) 抽象类通过其子类实例化,而子类需要覆盖掉抽象类中所有的抽象方法后才可以创建对象,否则该子类也是抽象类。 简单的说,抽象类是一个不能实例化的类,它可以具有抽象方法或者普通方法,也可以有构造方法。 第8页/共26页 代码有没有问题? 串讲:抽象类的应用 需求描述 模拟“愤怒的小鸟”游戏中各种鸟的行为 抽象类 鸟 飞行:弹射-飞 叫:嗷---! (抽象方法)攻击 分裂鸟 攻击:分裂攻击 火箭鸟 攻击:加速冲撞 分析 使用抽象类定义鸟类 飞行和叫为抽象类的普通方法 攻击为抽象类的抽象方法 在子类中实现攻击方法 第9页/共26页 上机练习 需求说明 实现某公司各种岗位(经理、销售人员、普通员工)的员工薪水计算。经理的薪水为基本工资+奖金,销售人员的薪水为基本工资+销售量*每件提成,普通员工只有基本工资; 要求输出不同岗位各一名员工的工资,使用抽象类实现; 分析 定义员工抽象类,具有姓名、基本工资的属性和计算薪水的抽象方法 定义子类:经理类、销售人员类、普通员工类,分别继承员工抽象类,定义各自的属性,重写计算薪水的方法 定义测试类,包含输出员工薪水的静态方法,参数为员工对象(抽象父类的引用指向子类的对象,可以实现多态) 完成时间:20分钟 共性问题集中讲解 第10页/共26页 串讲:抽象类的优势 抽象类可以将已经实现的方法提供给其子类使用,使代码可以被复用 抽象类中的抽象方法在子类中重写,保证了子类还具有自身的独特性 例如:鸟的飞行和叫的方法,不需在子类重复实现 例如:每个鸟都有自己独特的攻击行为 通过抽象类指向其子类的对象,可以实现多态 第11页/共26页 串讲:抽象类的体现-模板模式Template 编写一个抽象父类,该父类提供了多个子类的通用方法,并把一个或多个抽象方法留给子类去实现,这就是模板设计模式 抽象类是多个具体子类抽象出来的父类,具有高层次的抽象性; 以抽象类作为子类的模板可以避免子类设计的随意性; 抽象类作为多个子类的通用模板,子类在抽象类的基础上进行扩展,但总体上大致保留抽象父类的行为方式; 模板模式应用的简单规则: 抽象父类可以只定义需要使用的某些方法,其余留给子类去实现; 父类提供的方法只是定义了一个通用算法,其具体实现必须依

文档评论(0)

希望之星 + 关注
实名认证
内容提供者

我是一名原创力文库的爱好者!从事自由职业!

1亿VIP精品文档

相关文档