zoukankan      html  css  js  c++  java
  • Python【day 16-1】面向对象初识

    1、面向对象思想
    1、面向过程
    1、概念
    按照事物的发展流程,第一步,第二步,第三步,一步步往下
    2、优缺点
    1、优点
    简单,流水线式的
    2、缺点
    可扩展性差
    2、面向对象
    1、概念
    对象:是属性和动作的集合体 事物-东西-对象
    1、属性:对象的特性、特点
    2、动作:对象能做什么
    2、优缺点
    1、优点
    可扩展性好
    2、缺点
    编写相对复杂一点

    2、面向对象如何编写
    1、定义类
    1、代码中的类,就相当于盖房子的图纸,或者汽车设计的图纸
    2、写法
    class 类名:
    def __init__(self):
    pass
    def 普通方法名(self):
    pass

    2、构造方法
    def __init__(self,属性1,属性2):
    self.属性1 = 属性1
    self.属性2 = 属性2

    3、普通方法
    def 普通方法名(self[,形参列表]):
    pass

    4、对象调方法
    self:表示当前正在执行动作的对象
    对象名 = 类名() #新建对象,自动调构造方法
    对象名.方法名()
    类名.方法名(对象名[,实际参数])

    3、面向对象和面向过程的对比
    都是设计思想,一般来说,简单的适合面向过程,复杂的适合面向对象
    最终还是要结合不同的业务逻辑,来决定采用哪种思想

    4、面向对象的三个特点
    1、封装
    把具有相同属性和功能的内容封装到一个对象中
    狭义的理解:创建对象的时候,传入实际参数(就相当于把实参列表封装到了一个对象)
    2、继承
    子类可以继承父类除了私有属性外的其他所有内容
    类比:现实中的,父亲和儿子
    3、多态
    同一个对象,可以拥有多种形态,python原生自带多态
    比如:小明是学生,是人,是志愿者,不同的身份类型

  • 相关阅读:
    LeetCode 876. 链表的中间结点
    顺序表的定义及其相关基本操作
    LeetCode 206. 反转链表
    LeetCode 111. 二叉树的最小深度
    LeetCode 700. 二叉搜索树中的搜索
    LeetCode 104. 二叉树的最大深度
    LeetCode 908. 最小差值 I
    LeetCode 728. 自除数
    LeetCode 704. 二分查找
    LeetCode 852. 山脉数组的峰顶索引 (二分)
  • 原文地址:https://www.cnblogs.com/wangtp/p/11955519.html
Copyright © 2011-2022 走看看