基本信息
文件名称:面向对象-教案(第16讲).doc
文件大小:77.5 KB
总页数:6 页
更新时间:2025-06-13
总字数:约4.76千字
文档摘要

PAGE5

《面向对象程序设计》教案

第16讲

教学对象

计算机科学技术专业

授课内容

6.5类的继承

课程标准

教学目标

(一)知识目标

掌握类继承的实现、方法覆盖

掌握super的使用

(二)能力目标

1.能够应用类、对象、封装、继承、多态等知识编写应用程序

2.能够掌握面向对象理论与方法,进行创新性的编程设计

教学方法

采用讲授法、演示法、讨论法、案例教学。

学时及分配(第1学时50分钟)

课堂讲授30分钟

课堂练习20分钟

6.5.1类继承的实现

6.5.2方法覆盖

学时及分配(第2学时50分钟)

课堂讲授20分钟

课堂练习30分钟

6.5.3super关键字

6.5.4调用父类构造方法

知识点分析

重点:

继承的实现

super关键字

难点:

方法重写

教学过程设计

内容

方式

问题导入

本节来学习继承及继承的实现、定义类的子类、如何覆盖超类的方法。

内容要点

6.5类的继承

在Java语言中,继承的基本思想是可以从已有的类派生出新类。不同的类可能会有一些共同的特征和行为,可以将这些共同的特征和行为统一放在一个类中,使它们可以被其他类所共享。

6.5.1类继承的实现

实现类的继承,使用extends关键字,格式如下:

[public]class子类名extends父类名{

//类体定义

}

这样声明后就说子类继承了超类或者说子类扩展了父类。如果父类又是其他类的子类,则这里的子类就为那个类的间接子类。

设现有Person类,要设计一个Employee类。因为Employee也是Person,那么就没有必要从头定义Employee类,可以继承Person类。因为Employee除具有人员Person的特征,还有一些自己的特征(如描述员工工资,计算工资的操作等)。程序6-7是Person类,程序6-8是Employee类表示员工。

【程序6-7】Person.java

packagecom.boda.xy;

publicclassPerson{

publicStringname;

publicintage;

publicPerson(){//无参构造方法

}

publicPerson(Stringname,intage){//带参数构造方法

=name;

this.age=age;

}

publicvoidsayHello(){

System.out.println(Hello,Mynameis+name);

}

}

有了Person类,我们定义Employee类时就可继承Person类,而不必再从头定义Employee类,代码如下。

【程序6-8】Employee.java

继承Person类packagecom.boda.xy;

继承Person类

salary表示员工工资,不必定义name和age,它们从父类继承来。publicclassEmployeeextendsPerson{

salary表示员工工资,不必定义name和age,它们从父类继承来。

publicdoublesalary;

//无参构造方法

publicEmployee(){

}

//带一个参数构造方法

publicEmployee(doublesalary){

this.salary=salary;

}

//带3个参数构造方法

调用父类构造方法publicEmployee(Stringname,intage,doublesalary){

调用父类构造方法

super(name,age);

this.salary=salary;

}

publicdoublecomputeSalary(inthours,doublerate){

这里计算员工的工资doublesalary=hours*rate;

这里计算员工的工资

returnthis.salary+salary;

}

}

这里Employee类继承或扩展了Person类,它成为Person类的子类,Person类成为Employee类的父类。

关于类继承的几点说明:

(1)子类继承父类中非private的成员变量和成员方法。例如,在Employee类中可以使用父类中继承来的name和age属性,还可以调