• 74.面向对象编程介绍


    面向对象编程介绍

    想一想

    请用程序描述如下事情:

    • A同学报道登记信息
    • B同学报道登记信息
    • C同学报道登记信息
    • A同学做自我介绍
    • B同学做自我介绍
    • C同学做自我介绍
    stu_a = {
            "name":"A",
            "age":21,
            "gender":1,
            "hometown":"河北"
    }
    stu_b = {
            "name":"B",
            "age":22,
            "gender":0,
            "hometown":"山东"
    }
    stu_c = {
            "name":"C",
            "age":20,
            "gender":1,
            "hometown":"安徽"
    }
    def stu_intro(stu):
            """自我介绍"""
            for key, value in stu.items():
                    print("key=%s, value=%d"%(key,value))
    
    stu_intro(stu_a)
    stu_intro(stu_b)
    stu_intro(stu_c)

    考虑现实生活中,我们的思维方式是放在学生这个个人上,是学生做了自我介绍。而不是像我们刚刚写出的代码,先有了介绍的行为,再去看介绍了谁。

    用我们的现实思维方式该怎么用程序表达呢?

    stu_a = Student(个人信息)
    stu_b = Student(个人信息)
    stu_c = Student(个人信息)
    stu_a.intro()
    stu_b.intro()
    stu_c.intro()
    • 面向过程:根据业务逻辑从上到下写代码
    • 面向对象:将数据与函数绑定到一起,进行封装,这样能够更快速的开发程序,减少了重复代码的重写过程

    面向过程编程最易被初学者接受,其往往用一长段代码来实现指定功能,开发过程的思路是将数据与函数按照执行的逻辑顺序组织在一起,数据与函数分开考虑。

    今天我们来学习一种新的编程方式:面向对象编程(Object Oriented Programming,OOP,面向对象程序设计)

    • 1)解决菜鸟买电脑的故事

      第一种方式:

      1)在网上查找资料

      2)根据自己预算和需求定电脑的型号 MacBook 15 顶配 1W8

      3)去市场找到苹果店各种店无法甄别真假 随便找了一家

      4)找到业务员,业务员推荐了另外一款 配置更高价格便宜,也是苹果系统的 1W

      5)砍价30分钟 付款9999

      6)成交

      回去之后发现各种问题

      第二种方式 :

      1)找一个靠谱的电脑高手

      2)给钱交易

    • 面向对象和面向过程都是解决问题的一种思路而已

      • 买电脑的第一种方式:

        • 强调的是步骤、过程、每一步都是自己亲自去实现的
        • 这种解决问题的思路我们就叫做面向过程
      • 买电脑的第二种方式:

        • 强调的是电脑高手, 电脑高手是处理这件事的主角,对我们而言,我们并不必亲自实现整个步骤只需要调用电脑高手就可以解决问题
        • 这种解决问题的思路就 是面向对象
      • 用面向对象的思维解决问题的重点

        • 当遇到一个需求的时候不用自己去实现,如果自己一步步实现那就是面向过程
        • 应该找一个专门做这个事的人来做
        • 面向对象是基于面向过程的
    • 2)解决吃啤酒鸭的问题

      第一种方式(面向过程):

      1)养鸭子

      2)鸭子长成

      3)杀

      4)作料

      5)烹饪

      6)吃

      7)卒

      第二种方式(面向对象):

      1)找个卖啤酒鸭的人

      2)给钱 交易

      3)吃

      4)胖6斤

      需要了解的定义性文字:

      面向对象(object-oriented ;简称: OO) 至今还没有统一的概念 我这里把它定义为: 按人们 认识客观世界的系统思维方式,采用基于对象(实体) 的概念建立模型,模拟客观世界分析、设 计、实现软件的办法。

      面向对象编程(Object Oriented Programming-OOP) 是一种解决软件复用的设计和编程方法。 这种方法把软件系统中相近相似的操作逻辑和操作 应用数据、状态,以类的型式描述出来,以对象实例的形式在软件系统中复用,以达到提高软件开发效率的作用。

  • 相关阅读:
    《区块链100问》第51集:区块链资产有匿名性
    《区块链100问》第52集:区块链资产能去中心化记账
    《区块链100问》第53集:区块链资产不可复制
    day 5 模块导入、常用模块os shutil sys commands subprocess hashlib json pickle zipfile traceback random datetime pathlib
    apache中配置php支持模块模式、cgi模式和fastcgi模式的实验
    day3--集合、文件操作、字符编码与转换、函数(递归,lambda,filter,map)、字典排序
    练习题目 :if for while else range、xrange、zip
    解决mySQL占用内存超大问题
    my.cnf重要配置参数说明
    chattr与lsattr命令详解
  • 原文地址:https://www.cnblogs.com/kangwenju/p/12866437.html
Copyright © 2020-2023  润新知