Java SE程序设计:继承与多态
版权申诉
114 浏览量
更新于2024-07-03
收藏 428KB PDF 举报
"本资源是JavaSE程序设计的课件,主要讲解了面向对象编程中的继承和多态性,出自Liang的《Introduction to Java Programming》第五版。课件通过具体的类(如Circle和Cylinder)展示了Java中superclass(超类)与subclass(子类)的概念,以及如何实现继承和多态。"
在Java编程中,面向对象编程是核心概念之一,它包括类、对象、继承、封装和多态等要素。本课件重点讲述了继承和多态,这是理解OOP的关键。
1. **继承(Inheritance)**:
继承是Java中实现代码复用的一种方式,一个类可以继承另一个类的属性和方法。在示例中,`Cylinder`类继承自`Circle`类,表示圆柱体类是圆形类的扩展。`Circle`是超类,具有`radius`、`getRadius`、`setRadius`和`findArea`方法,而`Cylinder`是子类,增加了`length`属性,以及`getLength`、`setLength`和`findVolume`方法。继承使`Cylinder`能直接访问`Circle`的属性和方法,无需再次定义。
2. **超类(Superclass)与子类(Subclass)**:
`Circle`是超类,它定义了圆形的基本属性(如半径`radius`)和操作(如获取半径、设置半径和计算面积)。`Cylinder`是`Circle`的子类,除了继承`Circle`的所有属性和方法外,还添加了自己的属性(长度`length`)和方法(计算体积`findVolume`)。在UML图中,这种关系用箭头表示,箭头从子类指向超类。
3. **多态性(Polymorphism)**:
多态性允许一个接口有多种不同的实现,或者一个对象可以有多种行为。在Java中,多态性的实现主要是通过方法重写(Override)。例如,虽然`Cylinder`是`Circle`的子类,但可以将`Cylinder`对象当作`Circle`处理,调用`findArea`方法。同时,`Cylinder`可以提供自己的`findVolume`方法,这就是多态性的体现。
4. **代码示例**:
课件中给出了`Cylinder`类的定义,它扩展了`Circle`类,并添加了对圆柱体长度的管理。`getLength`和`setLength`方法分别用于获取和设置圆柱体的长度,而`findVolume`方法利用继承自`Circle`的`findArea`方法来计算圆柱体的体积。
5. **访问控制修饰符**:
在`Cylinder`类中,`length`属性被声明为`private`,意味着它只能在类内部访问,体现了封装的原则。`getLength`和`setLength`方法作为公共方法,允许外部访问和修改长度。
通过学习这部分内容,开发者可以更好地理解和运用Java的面向对象特性,提高代码的可重用性和可维护性,设计出更符合现实世界模型的软件系统。
2022-05-28 上传
2022-06-18 上传
2022-06-18 上传
2023-06-09 上传
2023-07-08 上传
2023-09-29 上传
2023-06-09 上传
2023-05-28 上传
2023-05-19 上传
wxg520cxl
- 粉丝: 25
- 资源: 3万+
最新资源
- C++ GUI Programming with Qt 4
- Compiere 的生产管理模块
- Java反射机制入门
- 模拟单处理机进程调度算法
- Linux安装Oracle 10g
- 基于J2EE的Ajax宝典
- ArcEngine开发代码集合
- Linux下mysql常用操作命令总结
- ER mapper中文手册
- peoteus与单片机仿真
- 平面布局方图模型的尺寸计算
- A Guide to MATLAB for Beginners and Experienced Users
- VC++常用方法__获得主机名及IP
- cognos展现教程
- 一种基于单片机的数据采集系统设计
- weblogic 9.2 LINUX安装全过程[ 图形] 含ESB安装