【笔记1】面向对象基本理论

Python面向对象

基本理论

什么是对象?

  • 万物皆对象

  • 对象是具体物体

    拥有属性+拥有行为+把很多零散的东西, 封装成为一个整体

  • 举例:

    • 王二小

      • 属性

        姓名+年龄+身高+体重…

      • 行为

        走路+吃饭+放羊…

  • Python中的体现

    • Python是一门特别彻底的面向对象编程(OOP)的语言

      • 其他语言

        • 基本数据类型: int–0, float–0.1, bool–True…

        • 对象类型: String–“xxx” Array–[1, 2, 3] …

      • Python

        • 对象类型:int–0, float–0.1, bool–True, list–[1,2,3]…
        • 以上都属于对象

面向过程&面向对象

  • 都是一种解决问题的思路(思想)

  • 面向过程:在解决问题的时候,关注的是解决问题的每一个的过程(步骤)。

  • 面向对象:在解决问题的时候,关注的是解决问题所需要的对象。

  • 举栗:做好饭之后洗碗

    • 面向过程

        • 洗菜
        • 点火倒油
        • 放菜,材料
        • 翻炒
        • 盛出
        • 放水
        • 放碗
        • 倒洗洁精
        • 开始刷
        • 擦干水
        • 摆放好
    • 面向对象:关注解决问题需要的对象,这件事可以分配给谁来做。

        • 对象(隶属于对象的技能,调动对象)

          • 技能1: 做饭

            • 洗菜
            • 点火倒油
            • 放菜,材料
            • 翻炒
            • 盛出
          • 技能2:洗碗

            • 放水
            • 放碗
            • 倒洗洁精
            • 开始刷
            • 擦干水
            • 摆放好
        • 对象

          • 技能1: 做饭

            • 放菜,材料

            • 自动炒菜机(也是一个对象)

              • 搅拌
              • 翻炒
              • 监测火候
            • 盛出

          • 技能2:洗碗

            • 放水/放碗

            • 自动洗碗机(也是一个对象)

              • 倒洗洁精
              • 开始刷
              • 擦干水
            • 摆放好

  • 对比

    • 面向对象和面向过程都是解决问题的一种方式(思想)。

      面向对象本身是对面向过程的封装.

      ​ 封装:将数据和操作数据的方法进行有机结合,隐藏对象的属性和实现细节,仅对外公开接口和对象进行交互。

    • 面向过程编程最重要的是什么?

      1. 按照步骤划分

      2. 把一个任务,分解成具体的每一个步骤

    • 面向对象编程最重要的什么?

      1. 按照功对象能进行划分

      2. 找到对象, 确定对象属性和行为

    • 如何从面向过程编程的思想,过渡到面向对象编程?

      1. 列举出一个任务的具体实现步骤
      2. 试图分离这些实现步骤中的功能代码块
      3. 将这些功能代码块,划分到某一个对象中
      4. 根据这个对象以及对应的行为,抽象出对应的类(设计类)

  • 类:某一个具体对象特征的抽象

    • 例如:

      • 张三这个具体的人

        • 属性

          年龄:18 身高:180 体重:250…

        • 行为

          吃:吧唧嘴 喝:放白糖 嫖:不给钱 赌:没赢过…

      • 抽象出来的类

        • 不良青年

          • 属性(仅是一个概念,不是具化的某一个数值)

            年龄 身高 体重…

          • 行为

            吃 喝 嫖 赌…

  • 类的作用?

    • 根据抽象的类,生产具体的对象

    • 例如

        • 不良青年

          • 属性:年龄 身高 体重…

          • 行为:吃 喝 嫖 赌…

      • 对象

        • 张三

          • 不同的身高,体重等属性
          • 不同的行为
        • 李四

          • 不同的身高,体重等属性
          • 不同的行为
        • 王五

          • 不同的身高,体重等属性
          • 不同的行为
  • 类的组成

    • 名称
    • 属性
    • 方法

    一定要注意:

    1. 以上属性和方法,都是抽象的概念

    2. 在产生对象之后,对象才拥有具体的属性值,和方法实现

  • 列举生活中的类

    1. 类:钱

      对象:具体的1毛的,5毛的,1块的,5块的…

    2. 类:熊

      对象:熊大,熊二…

    3. 类:汽车

      对象:奥拓, 奥迪, 马自达 …

  • 对象和类的关系

    -对象 - 抽象 - 类 - 实例化 - 对象

    类可以实例化某一个对象;根据对象可以抽象出某一个类。

参考视频:https://www.bilibili.com/video/BV1A4411v7b2?p=5&spm_id_from=pageDriver

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值