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

PAGE5

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

第17讲

教学对象

计算机科学技术专业

授课内容

6.4封装性与访问权限

6.6final关键字

6.7类的关系

课程标准

教学目标

(一)知识目标

理解访问控制权限的作用,掌握访问控制权限的使用

2.理解封装的作用,掌握封装的实现

3.了解final关键字的使用

(二)能力目标

1.能够熟练使用不同访问修饰符实现访问权限的控制

2.能够理解类之间的关系

教学方法

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

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

课堂讲授30分钟

课堂练习20分钟

6.4封装性与访问权限

6.6final关键字

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

课堂讲授20分钟

课堂练习30分钟

6.7类的关系

编程练习

知识点分析

重点:

类的组织

访问控制权限

类的封装

难点:

访问控制权限

类的关系

教学过程设计

内容

方式

问题导入

在上一章中,介绍了类和对象的基本用法,并对面向对象的三大特征之一的封装进行了讲解,本节将进一步讲解封装特性。

内容要点

6.4封装性与访问修饰符

封装性是面向对象的一个重要特征。对象的封装是通过两种方式实现的:(1)通过包实现封装性。在定义类时使用package语句指定类属于哪个包。(2)通过类和类成员的访问权限实现封装性。

包是Java语言最大的封装单位,它定义了程序对类的访问权限。图6-7给出了两个包com.boda.xy和org.demo.ab的结构,其中A、B、C类属于com.boda.xy包,D和E类属于org.demo.ab包。箭头表示类继承关系,其中B是A的子类,且与A在同一个包中,D也是A的子类,但与A不在同一个包中。

6.4.1类的访问权限

类(包括接口和枚举等)的访问权限通过修饰符public实现。它定义哪些类可以使用该类。public类可以被任何其他类使用,而缺省访问修饰符的类仅能被同一包中的类使用。

【案例6-3】类的访问权限。下面的Bicycle类定义在com.boda.xy包中,该类缺省访问修饰符。

【程序6-4】Bicycle.java

packagecom.boda.xy;

这里没有用public修饰类classBicycle{

这里没有用public修饰类

Bicycle(){

System.out.println(生产一辆自行车。);

}

}

下面的BicycleDemo类定义在org.demo.ab包中,它与Bicycle类不在同一个包,在该类中试图使用com.boda.xy包中的Bicycle类。

【程序6-5】BicycleDemo.java

packageorg.demo.ab;

发生编译错误,Bicycle不可见importcom.boda.xy.Bicycle;

发生编译错误,Bicycle不可见

publicclassBicycleDemo{

publicstaticvoidmain(String[]args){

varmyBike=newBicycle();

}

}

6.4.2类成员的访问权限

类成员的访问权限包括成员变量和成员方法的访问权限。共有4个修饰符,它们分别是private、缺省的、protected和public,这些修饰符控制成员可以在程序的哪些部分被访问,也称为成员的可见性(visibility)。

1.private访问修饰符

用private修饰的成员称为私有成员,私有成员只能被这个类本身访问,外界不能访问。private修饰符最能体现对象的封装性,从而可以实现信息的隐藏。

2.缺省访问修饰符

缺省访问修饰符的成员,一般称为包可访问的。这样的成员可以被该类本身和同一个包中的类访问。其他包中的类不能访问这些成员。对于构造方法,如果没有加访问修饰符,也只能被同一个包的类产生实例。

对于案例6-4中的Animal类,如果将成员变量和方法的修饰符private去掉,它们就是包可访问的,程序不会产生编译错误。因为AnimalTest类与Animal类在同一个包中。

3.protected访问修饰符

当成员被声明为protected时,一般称为保护成员。该类成员可以被这个类本身、同一个包中的类以及该类的子类(包括同一个包以及不同包中的子类)访问。

如果一个类有子类且子类可能处于不同的包中,为了使子类能直接访问父类的成员,那么应该将