面向对象编程基础:多态与封装
需积分: 9 8 浏览量
更新于2024-08-23
收藏 160KB PPT 举报
"这篇资料是清华大学的Java课程中关于面向对象和多态的部分,主要讲解了面向对象的基本概念,包括类定义、抽象、封装、重载、继承和多态,并重点探讨了多态的原理和应用。"
在面向对象程序设计(OOP)中,多态(Polymorphism)是一个核心概念,它允许一个接口被多个类共享,使得一个对象能够以多种形态存在。标题中的"多态-Polymorphism"强调了这一关键特性。多态使得代码更加灵活,提高了代码的重用性和可扩展性。例如,当声明一个父类类型的引用并实例化为子类对象时,这个引用可以调用子类中重写或扩展的父类方法,这就是多态性的一个体现。
描述中的代码片段展示了多态的使用方式:
```java
Employee e1 = new Manager(…) ;
e1.allowance = 300.0F ;
e1.setAllowance(500.0F) ;
e1.upSalary(200.0F) ;
e1.getInfo() ;
```
这里`Employee`是父类,`Manager`是`Employee`的子类。`e1`被声明为`Employee`类型,但实际指向的是`Manager`对象。即使`e1`是`Employee`类型,它也可以调用`Manager`类中特有的方法,如`setAllowance()`、`upSalary()`,这体现了子类对父类方法的覆盖或扩展。同时,`getInfo()`可能是`Employee`类中定义的一个通用方法,子类可以继承并实现自己的版本,但在这里由于没有明确指出`getInfo()`是否在子类中重写,所以默认调用的是父类的实现。
标签中的"清华 java 面向对象"表明这是清华大学Java课程关于面向对象的讲解,意味着内容将深入且专业。
文件内容中还提到了抽象(Abstraction),它是OOP的另一个基石。抽象允许我们从现实世界的复杂性中抽离出来,创建与现实世界对象相似但简化了的模型。抽象类和接口都是抽象的实现方式,它们定义了共同的行为和属性,但不包含具体实现。程序员可以创建抽象类的子类,并提供具体的实现,这进一步支持了多态性。
封装(Encapsulation)是OOP的另一关键原则,它涉及到信息隐藏和软件复用。通过封装,类可以隐藏其内部细节,只暴露必要的接口供外部使用,增强了安全性并降低了组件间的耦合度。封装还促进了软件复用,因为一个封装良好的类可以作为一个独立的单元被多次使用,无需关心它的具体实现。
总结来说,这份资料涵盖了面向对象编程的关键概念,特别是多态性,这对于理解和实践Java或其他面向对象语言至关重要。通过学习这些概念,开发者可以编写出更灵活、可维护的代码,更好地模拟现实世界的问题,从而提高软件的效率和质量。
2023-06-02 上传
2024-06-20 上传
2023-05-18 上传
2023-05-23 上传
2023-08-23 上传
2023-06-10 上传
深井冰323
- 粉丝: 23
- 资源: 2万+
最新资源
- 最优条件下三次B样条小波边缘检测算子研究
- 深入解析:wav文件格式结构
- JIRA系统配置指南:代理与SSL设置
- 入门必备:电阻电容识别全解析
- U盘制作启动盘:详细教程解决无光驱装系统难题
- Eclipse快捷键大全:提升开发效率的必备秘籍
- C++ Primer Plus中文版:深入学习C++编程必备
- Eclipse常用快捷键汇总与操作指南
- JavaScript作用域解析与面向对象基础
- 软通动力Java笔试题解析
- 自定义标签配置与使用指南
- Android Intent深度解析:组件通信与广播机制
- 增强MyEclipse代码提示功能设置教程
- x86下VMware环境中Openwrt编译与LuCI集成指南
- S3C2440A嵌入式终端电源管理系统设计探讨
- Intel DTCP-IP技术在数字家庭中的内容保护