面向对象基础 OOP(绪论)

// 以下是基础介绍,以通俗易懂的语言进行说明,对零基础编程小白特别友好!大佬慎入 哈哈

1. 一些很基础的介绍

  • 面向对象,我们常用 “OOP” 来代称,英文全称是 “Object-oriented Programming” 。

  • 至于什么是面向对象?教材里是这么说的:OOP是建立模型,体现抽象思维。

    如果是零基础开始学OOP的,想必听了会很懵(本人经历过这种迷茫 哈哈)
    不过个人感觉,这个学着学着就懂了,不需要特别强求在一开始就把它搞明白。

  • 学习OOP的意义主要有三点:

    • 让我们程序的代码更简短(方便管理和维护)
    • 让我们的代码更清晰(容易读 + 理解)
    • 让我们的代码设计更普遍(容易修改 & 适应变动)

重点我们再重复两遍,简短!清晰!普遍!...... 简短!清晰!普遍!


2. “面向对象”,什么是对象?

这里有两个比较重要的概念需要大致了解:对象 & 抽象。

A. 对象

  • 对象可以是有形 / 无形的。

    通俗地理解,万物皆可是 “对象” 。车可以是一个对象,小狗勾可以是一个对象,甚至风也可以是一个对象。

  • 对象有静态特征 + 动态特征

    • 静态特征:可以用数据来描述的,例:车有4个轮胎、蚂蚁有6条腿
    • 动态特征:对象的形为 / 功能,例:狗会吠、容器可以收纳
  • 对象是属性服务的结合体。

    例如:车有轮胎,喇叭等,而轮胎可以充气/泄气,喇叭可以鸣笛之类的

到这里,大家应该对 “对象” 有了些许的概念,那我们继续往下看:

假设现在有两个对象,狗和猫。

狗和猫的共同点有什么?都有4条腿,都是哺乳动物,都会发出叫声 ......

那不同点呢?最明显的是叫声,狗是吠,而猫是喵。

如果抛开那些狗和猫的具体不同之处,我们可以把它们都简单地看成一个四肢的哺乳动物。

这个 “舍弃不同,寻求共同点” 的过程,实际上就是抽象。

B. 抽象

  • 抽象 = 舍弃个别特征,抽取共同特征的过程

  • 抽象的过程可以简单分成两类

    • 数据抽象:根据施加于数据的操作来定义数据类型

      一个很随性的例子:
      以变量 a 为例,如果说 a = 10/2,那 a 就是一个整数;如果 a = 5/3,那 a 就是一个小数
      我们不提前设定好 a 的数据类型,而是根据输入去定义 a 的类型

    • 过程抽象,使用一个确定功能的操作序列

      一个很接地气的例子:
      如果一个 “处理食材” 的过程是,清洗食材-->去皮-->切块,
      那这个过程可以使用于萝卜,也可以适用于土豆


以上就是一些简单的介绍啦!

由于小木是零基础开始学编程的,所以这里就用一个小白的视角来和大家分享学到的内容,希望可以帮到同样是编程小白的友友们!

如果有什么遗漏的或是错误的知识点,也欢迎各位赐教!