资源简介 (共18张PPT)单元四 面向对象高级特性授课学时:16学时主讲:教学目标教学重点与难点新课导入与项目展示项目1-在动物园中,游客们在和动物高兴地玩,可爱的小动物非常高兴,请对此场景进行描述项目2-图书信息管理主要内容教学目标知识目标理解类的继承与多态性的概念;掌握简单的类的继承与多态性的概念设计与实现方法;技能目标能够应用继承和多态性编写简单应用程序;掌握this和super关键字;教学重点及难点教学重点子类的创建方式继承的基本规则教学难点在子类构造方法中对父类构造方法的调用面对实际问题如何设计对应的类层次结构新课导入与项目展示项目1:在动物园中,游客们在和动物高兴地玩,可爱的小动物非常高兴,请对此场景进行描述。项目2:图书信息管理项目描述项目展示任务1-1:不同动物的行为表现任务分析动物(Animal)包括Dog、Cat、Goat、Wolf,狗吃骨头、猫吃鱼、山羊吃草、狼吃肉;狗汪汪叫,猫喵喵叫,山羊咩咩叫,狼嗷嗷叫;但是走路的行为walk()一致。通过继承实现以上需求,并编写AnimalTest测试类进行测试。抽取四种动物的共同特性放在父类中,不同特性放在子类中。任务1-1:不同动物的行为表现相关知识点继承:Java中使用关键字extends实现继承,其基本语法格式如下:class 子类名extends 父类名{}方法的覆盖:当子类继承父类,而子类中中方法与父类中方法的名称、返回值类型及参数完全一致时,只是方法体不一样时,就称子类中的方法覆盖了父类中的方法,也称为方法的覆盖或重写。this和super关键字:this代表当前对象;super关键字的主要功能是实现了更多的方法调用父类中的方法。任务1-1:不同动物的行为表现相关知识点子父类构造方法:类的构造方法名称必须与类名相同,因此,父类构造方法是不能直接被子类继承下来的。而子类通过继承拥有的成员变量实际上是由从父类继承下来的成员变量与新增成员变量组成的。那么,对子类进行初始化应包括对父类成员变量的初始化和对自身成员变量的初始化。而对父类成员变量的初始化通常是通过父类的构造方法进行的,因此,子类构造方法一般包含两部分内容:对父类构造方法的调用和对自身成员变量的初始化。子类继承父类,子类创建时先创建父类。子类构造方法的一般形式如下:子类类名(构造函数参数列表){super(与父类构造函数器方法参数相对的实参);//对子类成员的初始化}任务1-1:不同动物的行为表现实例4-1~4-6【学习目标】熟悉子类的创建、方法的覆盖、this与super的用法、子类构造方法的应用。【知识要点】类的继承机制、 this与super关键字、子类构造方法。【完成步骤】1.编写程序;2.编译并运行程序。任务1-1:不同动物的行为表现任务实施代码实现:【程序文件: TestAnimal.java】技能拓展任务子类继承父类,当子类与父类有完全相同的方法名、返回值类型和参数列表,就可以形成方法覆盖。方法的覆盖还应遵循以下规则:覆盖方法的访问控制应该与它所覆盖的方法的访问控制相同或更宽松。覆盖方法不能比它所覆盖的方法抛出更多的异常。任务1-2:利用多态解决游客与动物玩任务分析定义父类Animal引用指向子类,覆盖方法,实现多态;任务1-2:利用多态解决游客与动物玩相关知识点多态的概念:多态是指Java运行时的多态性,是面向对象程序设计中实现代码重用的一种机制。Java实现多态的基础是动态方法调用,即父类某个方法被其子类重写时,可以各自产生自己的功能行为。实现多态的条件:有继承关系。有方法的覆盖。有父类引用指向子类对象。任务1-2:利用多态解决游客与动物玩实例4-7:多态实现【学习目标】掌握多态的实现方法。【知识要点】理解多态的作用,熟悉多态的实现过程。【完成步骤】1.编写程序;2.编译并运行程序。任务1-2:利用多态解决游客与动物玩任务实施代码实现:【程序文件:Animal.java】技能拓展任务Object类是所有类的父类,根据多态的概念,任何子类的对象都可以赋值给子类的引用。即任何类的实例都可以用Object代替。例如:Object obj=”haha”;任务2-1:不同种类图书的信息任务分析有三类图书:科技书、文艺书和教材,这三类图书的定价标准不同,如果图书打折,不同种类图书的折扣也不同。这三类书都属于图书,而且都有显示图书种类、计算图书价格、计算打折这些方法,我们可以通过使用抽象类,定义它们共同的成员变量和方法并作为它们的父类,然后在子类中实现不同的方法。任务2-1:不同种类图书的信息相关知识点抽象类与抽象方法:抽象类(Abstract Class)是指使用abstract关键字修饰的类,也就是在声明一个类时加入了abstract关键字。抽象类是一种特殊的类,其它未使用abstract关键字修饰的类一般称作实体类。例如: public abstract class A{public A(){}} 。抽象方法(Abstract Method)是指使用abstract关键字修饰的方法。抽象方法是一种特殊的方法,其它未使用abstract关键字修饰的方法一般称作实体方法。public abstract void test();任务2-1:不同种类图书的信息实例4-8:抽象类与抽象方法【学习目标】掌握抽象类与抽象方法的使用。【知识要点】熟悉抽象类和抽象方法的定义。【完成步骤】1.编写程序;2.编译并运行程序。任务2-1:不同种类图书的信息任务实施代码实现:【程序文件: Booksell.java】技能拓展任务以上任务还可以通过接口来完成; 展开更多...... 收起↑ 资源预览