第五章 面向对象(中).ppt
需积分: 0 75 浏览量
更新于2010-08-27
收藏 671KB PPT 举报
面向对象编程是软件开发中的一种核心思想,它以对象为中心,强调数据和操作数据的方法的封装,以及类之间的关系如继承和多态。在Java这样的面向对象语言中,理解并熟练运用面向对象的特征至关重要。
我们来看面向对象的三大特征:封装、继承和多态。
**封装**是面向对象的基础,它隐藏了对象内部的细节,只对外提供公共接口进行交互。在Java中,我们通过访问控制符来实现封装,主要有`public`、`protected`、`private`和默认(无修饰符)。`public`表示任何地方都能访问,`protected`允许同包内的类和子类访问,无修饰符的成员仅限于同包内访问,而`private`则限制为只能在本类内部访问。例如,战斗机类`FighterPlane`中,`name`和`missileNum`字段是私有的(`private`),只能通过`setName`和`setNum`这样的公共方法(`public`)来设置,这就是封装的体现。
**继承**是面向对象的另一个重要特性,它允许子类继承父类的非私有属性和方法。在Java中,使用`extends`关键字实现继承。比如,`FighterPlane`可以继承自一个更抽象的`Plane`类。子类可以扩展父类的功能,同时保留父类已有的属性和方法。继承时,如果子类和父类不在同一包中,父类必须是`public`的,这样子类才能访问到父类的`public`和`protected`成员。
**多态**是面向对象的高级特性,指的是同一种行为可以有不同的表现形式,即不同的子类对象对同一消息可以有不同的响应方式。在Java中,多态可以通过方法重写(Override)和接口实现来实现。例如,`FighterPlane`可能有一个`fire`方法,而其他类型的飞机如轰炸机(`BomberPlane`)也有`fire`方法,但它们的具体实现可能不同,这就是多态性。
在Java中,当我们发送消息(调用方法或访问字段)给对象时,必须确保引用是有效的,否则可能会抛出`NullPointerException`。此外,消息的接收者(对象)必须具有相应的属性或方法,并且这些属性或方法的访问权限必须允许当前类或子类进行访问。
面向对象编程的实践涉及到类的设计、继承关系的构建以及方法的重写等,这些都是提高代码复用性和灵活性的关键。理解并熟练应用封装、继承和多态,能够帮助开发者编写出更加高效、易于维护的代码。在实际开发中,还需要考虑类的层次结构、接口设计以及如何利用多态来优化代码结构。
lcs888_2002
- 粉丝: 0
- 资源: 10
最新资源
- 基于Dubbo实现的灰度发布资料齐全+详细文档.zip
- 基于Dubbo自适应负载均衡资料齐全+详细文档.zip
- 基于ffmpeg+spring+quartz+dubbo+zookeeper+MyBatis服务化的视频转换分布式服务资料齐全+详细文档.zip
- 基于Java的微服务实践,单体微服务创建、Docker部署、Dubbo微服务实践等资料齐全+详细文档.zip
- 基于dubbo协议的mock系统资料齐全+详细文档.zip
- 基于Guns+springboot+dubbo开发资料齐全+详细文档.zip
- CSDN2Test.java
- 蛋白质摄入对肌肉影响数据集,训练健身与蛋白质摄入对瘦体重影响的数据集,蛋白摄入对体重的影响
- Linux命令大全完整版
- 基于grpc+dubbo+springboot开发的分布式服务资料齐全+详细文档.zip
- 基于seata + dubbo的分布式事务--- AT模式和TCC模式实战资料齐全+详细文档.zip
- 基于openoffice+jodconverter-core-3.0-beta-4-dist+spring+quartz+dubbo+MyBatis服务化的文档
- 基于Solr4.9.0的搜索系统:包括Solr索引建立、Solr索引查询DUBBO接口等内容。资料齐全+详细文档.zip
- 基于Spring Boot + Mybatis + Dubbo + Zookeeper + RabbitMQ + Redis + Nginx的高并发秒杀系统资料齐全+详细文档.zip
- 基于Spring boot 2.0+ 脚手架重构微服务系统, 小程序服务端快速上手资料齐全+详细文档.zip
- 基于Spring Boot、Redis、Dubbo、Zookeeper、Vue前后端分离、分布式架构的个人运动健康管理系统。资料齐全+详细文档.zip