• python 面向过程和面向对象


    世间万物皆 “对象”,对象 “集合” 即为 “类”

            ——有相同属性的对象的集合聚集成一类,

            将类赋值给一个变量,就是一个对象,即为将类实例化

       类:变量→属性 和 函数→方法

    面向过程 以解决问题的步骤来划分

    面向对象 以功能来划分

    面向过程就是自顶向下的编程;

    面向对象就是高度实物抽象化

    面向过程和面向对象并没有优劣之分,只有适合与不适合。

    面向过程
        优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、 Linux/Unix等一般采用面向过程开发,性能是最重要的因素。
        缺点:没有面向对象易维护、易复用、易扩展
    面向对象
        优点:易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统 更加灵活、更加易于维护
        缺点:性能比面向过程低

    面向过程 和 面向对象 编程

    1. 面向过程 编程:函数式编程,C程序,shell等
    2. 面向对象 编程:功能式编程,C++ ,Java,Python等

    面向对象的基本结构:

    面向对象的主要思想是:    封装    继承    多态

    类的定义:

    类把需要的变量和函数组合成一起,这样包含称为"封装"
    class A(object):

    类的结构:
    class 类名:
    成员变量 - 属性
    成员函数 - 方法

    Class 示例:

    class People(object):     # 定义类(class),object可以有,也可以没有
        color = 'yellow'      #定义了一个静态属性,成员变量
           
        def think(self):    #定义了一个动态方法,这个方法里一定要有self,还可以带多个属性,成员函数
            self.color = "black"     #如果需要调用类里的属性,就要用到self.color来调用该静态属性
            print("I am a %s" % self.color)    #调用动态方法时的输出
            print("i am a thinker") 
    
    ren = People()      #将类赋值给'ren'这个变量,就是一个对象,即为将类实例化
    
    print(ren)            # 单纯打印这个'ren'变量是一个对象(object),所以将类实例化后的便是对象(object)
    
    print(ren.color)      #输出,'ren'对象的静态属性,
    
    ren.think()         #使用这个类里面的.think()方法
    
    
    
    # 输出结果:
    
    <__main__.People object at 0x7f646d144690>    #打印这个方法的信息
    
    yellow           #静态属性的输出结果
    
    I am a black       #这里输出的是 ren.think()         
    i am a thinker 
    people.py
  • 相关阅读:
    杨老师课堂_VBA学习教程之一键合并所有文件
    无题
    杨老师课堂_VBA学习教程之VBA中使用函数
    杨老师课堂_Java核心技术下之控制台模拟文件管理器案例
    杨老师课堂之JavaScript定时器_农夫山泉限时秒杀案例
    交换机级联,堆叠,集群技术介绍
    IP划分
    光纤
    交换机
    URL中“#” “?” &“”号的作用
  • 原文地址:https://www.cnblogs.com/liuxgcn/p/11149218.html
Copyright © 2020-2023  润新知