PAGE5
《面向对象程序设计》教案
第15讲
教学对象
计算机科学技术专业
授课内容
6.1面向对象的三大特征
6.2包、类库与模块
6.3案例学习——开发自定义类库
课程标准
教学目标
(一)知识目标
1.了解面向对象特征
2.掌握包、类库、封装性和访问修饰符
(二)能力目标
1.能够应用类、对象、封装、继承、多态等知识编写应用程序
2.能够掌握面向对象理论与方法,进行创新性的编程设计
教学方法
采用讲授法、演示法、讨论法、案例教学。
学时及分配(第1学时50分钟)
课堂讲授30分钟
课堂讲授20分钟
6.1面向对象的三大特征
6.2包、类库与模块
学时及分配(第2学时50分钟)
课堂讲授20分钟
课堂讲授30分钟
6.3案例学习——开发自定义类库
编程训练
知识点分析
重点:
类的组织
类的封装
导入类库
难点:
如何理解类库、导入类库
教学过程设计
内容
方式
问题导入
Java语言的封装性、继承性和多态性等面向对象特征,包括包与类库、封装性和访问修饰符、定义类的子类、如何覆盖超类的方法、final关键字、类的关系、抽象类、对象转换与多态等。
内容要点
6.1面向对象特征
为支持面向对象的设计原则,所有OOP语言,包括Java在内,都有三个特性:封装性、继承性和多态性。
封装(encapsulation)就是把对象的状态(属性)和行为(方法)结合成一个独立的系统单位,并尽可能地隐藏对象的内部细节。例如,一辆汽车就是一个封装体,它封装了汽车的状态和操作。
继承(inheritance)的概念普遍存在于现实世界中。例如,小汽车是一种车,公交车是一种车,自行车也是一种车,它们都具有车的特性,因此它们是车的子类。
所谓多态(polymorphism),是指一个程序中相同的名字表示不同含义的情况。面向对象的程序中的多态有多种情况。在简单的情况下,在同一个类中定义了多个名称相同的方法,即方法重载,另一种情况是子类中定义的与父类中的方法同名的方法,即方法覆盖。这两种情况都称为多态,且前者称为静态多态,后者称为动态多态。
6.2包与类库
Java语言使用包来组织类库。包(package)实际是一组相关类或接口的集合。Java类库中的类都是通过包来组织的。
6.2.1包与package语句
用户自定义的类通常也应存放到某个包中,要将某个类放到包中,需在定义类时使用package语句指明属于哪个包,如下所示:
packagecom.boda.xy;
publicclassAccount{
…
}
为了保证自己创建的类不与其他人创建的类冲突,需要将类放入包中,这就需要给包取一个独一无二的名称。为了使你的包名与别人的包名不同,建议将域名反转过来,然后中间用点(.)号分隔作为包的名称。因为域名是全球唯一的,以这种方式定义的包名也是全球唯一的。
例如,假设一个域名为,那么创建的包名可以为com.boda.xy。创建的类都存放在这个包下,这些类就不会与任何人的类冲突。
许多IDE工具(如Eclipse或IntelliJIDEA等)创建带包的类时自动创建包的路径,并将编译后的类放入指定的包中。
如果在命令提示符下使用javac编译程序,可以使用带–d选项的编译命令创建包。
为了方便程序设计和运行,Java类库中的类都是以包的形式组织的,这些类通常称为JavaAPI。有关API的详细信息请参阅JavaAPI文档。
如果一个类属于某个包,可以用类的完全限定名(fullyqualifiedname)来表示。例如,Account类属于com.boda.xy包,则Account类的完全限定名是com.boda.xy.Account。
6.2.2类的导入
在Java语言中可以使用两种导入:一是使用import语句导入指定包中的类或接口。二是使用importstatic导入类或接口中的静态成员。
1.import语句
import语句的一般格式为:
importpackage1[.package2[.package3[…]]].类名|*;
如果指定具体的类名将导入指定的类,若选用“*”号,表示导入包中所有类。如果一个源程序中要使用某个包中的多个类,用第二种方式比较方便,否则要写多个import语句。导入某个包中所有类并不是将所有的类都加到源文件中,而是使用到哪个类才导入哪个类。
也可以不用import语句而在使用某个类时指明该类所属的包。
java.util.Scannersc=newjava.util.Sca