面向对象作业
版本 1.0
课程 1
幻灯片 17,共 30 张
Java 编程语言
综合练习:动物乐园
• 阶段4:输出各种动物腿的条数
– 难点指导
• instanceof运算符
对象 instanceof 类或接口
Cat cat=new Cat("加菲猫", 4); Dolphin dolphin = new Dolphin("海豚奇奇"); System.out.println(cat instanceof Cat); //true System.out.println(cat instanceof Animal); //true System.out.println(cat instanceof Terrestrial); //true System.out.println(dolphin instanceof Terrestrial); //false System.out.println(cat instanceof Dolphin); //编译错误! System.out.println(dolphin instanceof Cat); //编译错误!
• 多态的概念: –生活中的多态 –程序中的多态 • 同一个引用类型,使用不同的实例而执行不同操作 • 使用多态实现思路
–编写父类 –编写子类,子类重写父类方法 –运行时,使用父类的类型,子类的对象 • 方法重写的规则 –在继承关系的子类中 –重写的方法名、参数、返回值类型必须与父类相同 –私有方法不能继承因而也无法重写
版本 1.0
课程 1
幻灯片 4,共 30 张
Java 编程语言
知识梳理:继承2-1
• 使用继承重构代码的好处: –方便修改代码 –减少代码量 • 子类继承父类的关键字: extends • 子类调用父类的属性和方法的关键字: super • 继承下的构造方法 • 使用抽象类实现子类继承父类 • 访问修饰符总结
版本 1.0
课程 1
幻灯片 9,共 30 张
Java 编程语言
知识梳理:接口2-2
• 面向接口编程 –接口是一种能力 • 关心实现类有何能力,而不关心实现细节 –接口是一种约定 • 面向接口的约定而不考虑接口的具体实现
版本 1.0
课程 1
幻灯片 10,共 30 张
Java 编程语言
综合练习:动物乐园
• 任务描述:
–以面向对象思想设计动物乐园系统 –动物乐园包括的成员:猫、鸭子„„
• 属性:名称、腿 • 方法:叫
–设计类图 –编码实现
版本 1.0
课程 1
幻灯片 11,共 30 张
Java 编程语言
综合练习:动物乐园 • 阶段1:设计猫和鸭类结构,画出类图并写出代码 – 训练要点: • 面向对象程序设计 • 类的封装、继承 • 抽象类 – 需求说明: • 以面向对象思想设计猫和鸭的类结构,画出类图并写出代码 – 实现思路: 1、发现类 2、类的属性 3、发现类的方法 4、优化设计
对象 instanceof 类或接口
版本 1.0
课程 1
幻灯片 8,共 30 张
Java 编程语言
知识梳理:接口2-1
• 定义接口的语法:
public interface MyInterface { public void foo(); //其他方法 }
• 接口特性 –接口不可以被实例化 –实现类必须实现接口的所有方法 –实现类可以实现多个接口 –接口中的变量都是全局静态常量
版本 1.0
课程 1
幻灯片 7,共 30 张
Java 编程语言
知识梳理:多态2-2
• 使用多态的好处: –提高可维护性 –提高可扩展性 • instanceof运算符 –该运算符用来判断一个对象是否属于一个类或者实 现了一个接口,结果为true或false –在强制类型转换之前通过instanceof运算符检查对 象的真实类型,可以避免类型转换异常,从而提高代 码健壮性
完成时间:30分钟
版本 1.0
课程 1
幻灯片 16,共 30 张
Java 编程语言
综合练习:动物乐园
• 阶段4:输出各种动物腿的条数 – 训练要点: • instanceof运算符 – 需求说明: • 在阶段3代码的基础上,对数组进行遍历输出各种动物腿 的条数
– 实现思路: 完成时间:30分钟 1、重用阶段3代码 2、使用instanceof判断动物种类
访问修饰符
private 默认(friendly) protected
本类
√ √ √
同包
√ √
子类
其他
√
public
版本 1.0
√
课程 1
√
√
√
幻灯片 5,共 30 张
Java 编程语言
知识梳理:继承2-2
• 定义抽象类的关键字: abstract
public abstract class Pet { }
版本 1.0
课程 1
幻灯片 2,共 30 张
Java 编程语言
难点突破
• • • •
面向对象设计的过程 使用权限修饰符进行类的封装 继承关系下构造方法的执行 利用多态减少代码量,提高代码的可扩展 性和可维护性 • this、super关键字的使用 • static、final关键字的使用 • 接口与抽象类的异同
完成时间:30分钟
版本 1.0
课程 1
幻灯片 12,共 30 张
Java 编程语言
综合练习:动物乐园
• 阶段1:设计猫和鸭类结构,画出类图并写出代码 – 难点指导 • 面向对象程序设计
版本 1.0
课程 1
幻灯片 13,共 30 张
Java 编程语言
综合练习:动物乐园
• 阶段2:增加新成员海豚,重新设计类结构 – 训练要点: • 多态 • 接口 – 需求说明: • 动物乐园增加一个新成员海豚,海豚的叫声是“海 豚音……” – 实现思路: 1、对Animals类重新设计 2、海豚类同时继承类和实现接口
版本 1.0
课程 1
幻灯片 18,共 30 张
Java 编程语言
总结
• • • • • • •
类和对象的概念 面向对象设计的步骤 子类继承父类的关键字 子类调用父类的属性和方法的关键字 定义抽象类及抽象方法的关键字 方法重写的规则 接口的特性
版本 1.0
课程 1
幻灯片 19,共 30 张
课程 1 幻灯片 3,共 30 张
版本 1.0
Java 编程语言
知识梳理:抽象和封装
• 一切皆对象 –用程序描述真实世界 –现实世界“是面向对象的” • 面向对象设计提抽象的过程 –用类图描述设计 –设计的过程 • 发现类 • 发现类的属性 • 发现类的方法 –抽象的原则 • 封装 –将类的某些信息隐藏在类内部,不允许外部程序直接访问 ,而是通过该类提供的方法来实现对隐藏信息的操作和访 问
• abstract也可用于方法——抽象方法 –抽象方法没有方法体 –抽象方法必须在抽象类里 –抽象方法必须在子类中被实现,除非子类是抽象 类 • final用法 –类不希望再被其他类继承 –方法不希望被重写 –属性值不希望被改变
版本 1.0
课ቤተ መጻሕፍቲ ባይዱ 1
幻灯片 6,共 30 张
Java 编程语言
知识梳理:多态2-1
Java 编程语言
用Java开发基于对象的应用程序
面向对象--动物乐园
版本 1.0
课程 1
幻灯片 1,共 30 张
Java 编程语言
课程内容回顾
• • • • • •
面向对象要解决的问题? 类和对象的概念? 面向对象特性:抽象、继承、封装、多态 抽象类的概念、语法、用处 接口的概念、语法、用处 面向对象设计的步骤 –发现类 –发现类的属性 –发现类的方法 –优化设计
完成时间:30分钟
版本 1.0
课程 1
幻灯片 14,共 30 张
Java 编程语言
综合练习:动物乐园
• 阶段2:增加新成员海豚,重新设计类结构 – 难点指导 • 使用多态、接口优化设计
版本 1.0
课程 1
幻灯片 15,共 30 张
Java 编程语言
综合练习:动物乐园
• 阶段3:输出各种动物叫声 –需求说明: • 在阶段2编写的Java代码的基础上,分别创建 Cat、Duck、Dolphin对象并放到一个数组中, 对数组进行遍历输出各种动物如何叫