3.1 面向对象的思想

 

 思维导图:

**第3章 面向对象(上)**

**目录**
1. 面向对象的思想
2. 封装性
3. 继承性
4. 多态性

**3.1 面向对象的思想**
- 面向对象是一种编程思想,与现实生活中的事物和它们之间的关系相对应。
- 面向过程分析问题,通过函数实现步骤;面向对象将问题中的事物划分为对象,并通过调用对象的方法来解决问题。
- 当程序功能改变时,只需修改部分对象,使得代码更易于维护。
- 面向对象的三大特性:封装性、继承性和多态性。

**3.2 封装性**
- 核心思想是把对象的属性和行为视为一个整体。
- 封装有两层含义:
    1. 将属性和行为“组合”在一起。
    2. 信息隐藏,如学开车时只需知道如何操作汽车,不必知道汽车内部工作原理。

**3.3 继承性**
- 描述的是类与类之间的关系。
- 通过继承,可以在已有类基础上扩展功能。
- 如有一个汽车类,轿车类不仅包含汽车的特性和功能,还可以增加轿车特有功能。轿车类可继承汽车类并添加其特性和方法。
- 继承增强了代码的复用性,提高了开发效率,也方便了程序维护与扩展。

**3.4 多态性**
- 一个类的属性和方法被其他类继承后,它们可以具有不同的数据类型或表现出不同的行为。
- 如汽车和飞机都是交通工具,但汽车在陆地行驶,飞机在天空飞行。
- 多态使程序更抽象和便捷,帮助开发人员设计程序时进行分组协同开发。

**学习目标:**
- 了解面向对象思想,掌握其三大特性。
- 能够定义类,创建和使用对象,以及通过对象访问其属性和方法。
- 了解Java的4种访问控制权限和如何在类中使用它们。
- 熟悉类的封装特性,了解为什么要封装以及如何实现封装。
- 能够定义和重载构造方法,使用`this`关键字调用属性、方法及构造方法。
- 了解代码块的应用,特别是普通代码块和构造块。
- 熟悉`static`关键字的使用,了解静态属性、静态方法和静态代码块的特点。

**小结:**
面向对象的思想不仅是理论知识,还需要通过大量实践来真正领悟和应用。

我的理解:

面向对象编程(OOP)的三大特性:封装性、继承性和多态性,是支撑OOP的核心概念。为了更好地理解它们,我们可以通过以下方式来深入探讨:

**1. 封装性 (Encapsulation):**

**概念**: 
封装是面向对象编程中的一种将数据(属性)和与数据相关的操作(方法)结合在一起的机制,确保对象的内部结构的完整性和安全性。

**类比**:
想象一个真实世界的例子:电视遥控器。我们使用按钮来更改频道或调整音量,但我们不知道这背后的复杂电子工作原理。这就是封装——我们只与暴露出的接口交互,而不必关心其内部实现。

**意义**: 
- 保护内部数据不被外部随意修改。
- 简化外部对对象的访问,只暴露必要的操作和功能。
- 提高代码的可维护性和安全性。

**2. 继承性 (Inheritance):**

**概念**:
继承允许我们创建一个新类,继承并使用已有类的属性和方法,同时还可以添加新的属性和方法或覆盖现有的功能。

**类比**: 
想象一个家族,孩子会继承父母的某些特征,如眼睛的颜色或发型。但孩子也可能有他们自己独特的特点。在编程中,"父母"是父类,而"孩子"是子类。

**意义**: 
- 代码重用:子类可以复用父类的代码,避免重复编写。
- 创建类的层次结构,使代码组织得更结构化。
- 为多态性提供基础。

**3. 多态性 (Polymorphism):**

**概念**:
多态是指允许你使用一个接口表示多种数据类型。在OOP中,多态性使得不同的对象可以被视为其父类或接口的对象。

**类比**: 
考虑动物园中的动物。每个动物都可以"说话"(例如狗叫、猫喵喵叫),但它们所发出的声音是不同的。在编程中,你可能有一个方法叫做`speak()`,但根据对象是狗还是猫,它会有不同的实现。

**意义**: 
- 代码灵活性:使得函数或方法可以对不同的对象进行操作。
- 支持扩展:当添加新的子类时,不需要修改现有代码来支持新的对象。
- 提高代码的维护性和组织结构。

总之,这三大特性帮助程序员编写更加模块化、可维护和可扩展的代码,也让代码更接近现实世界的模拟。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夏驰和徐策

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值