zoukankan      html  css  js  c++  java
  • 面向对象总结

    面向对象总复习:
    面向过程编程思想:
    核心是 过程 二字, 过程指的是解决问题的步骤是,即先干什么再干什么。
    基于该编程思想编写程序,相当于一条流水线,一种机械式的思维方式。

    面向对象编程思想:
    核心是 对象 二字,对象指的是数据与方法的结合体。也就是一个容器。
    基于该编程思想编写程序,就好比创造世界,一种上帝式的思维方式。

    一、类与对象
    对象是特征与技能结合体,即数据与方法。
    类是一系列对象相似的特征与技能的结合体,即相似的数据与方法。

    二、面向对象三大特性
    封装:
    把一堆数据属性与方法属性 整合 到对象里面。

    隐藏:
    __属性 ---> 把属性变形了,即隐藏起来了!

    继承:
    父类是一些列类共有的数据属性与方法属性的结合体。
    子类可以继承父类的属性,还可以派生出自己独有的属性。

    组合:
    1.即继承父类的属性,且不与父类耦合到一起。
    2.把一个对象放到另一个对象里面。
    组合是继承的一种应用。

    多态:
    1.抽象类
    2.鸭子类型

    三、对象的绑定方法
    给对象用的,由对象来调用,会自动把对象本身当作第一个参数传给self。

    四、classmethod、staticmethod、property

    classmethod本质上是一个装饰器,装饰给类里面的方法。
    被装饰的方法,即类的绑定绑法。
    五、组合
    一个类的对象作为另一个类的对象的属性

    六、面向对象高级
    1、反射:
    通过 字符串 来操作类与对象的属性。
    hasattr()
    判断对象或者类的属性是否存在!

    ```
    getattr()
    获取对象或者类的属性
    参数1: 对象
    参数2: '属性名'
    参数3: 默认值

    setattr()
    设置对象或者类的属性

    delattr()
    删除对象或者类的属性
    ```

    2、类的内置方法

    __init__(): 调用类的时候自动触发__init__。
    __str__(): 打印对象的时候出发此方法。 (此方法内,必须return一个字符串)
    __del__(): 在对象 占用空间被清掉了,会自动触发__del__方法的执行。
    __setattr__(): 修改对象的属性会自动触发此方法的执行。
    __deleter__: 删除属性的时候会自动触发。
    __call__: 调用对象的时候会自动触发。 讲元类的时候会有用!
  • 相关阅读:
    Codeforces Round #183 (Div. 2) B. Calendar
    FZU Problem 2030 括号问题
    NEU(1262: ASCII Sequence II)动态规划
    ZOJ(1711)Sum It Up (DFS+剪枝+去重复)
    ZOJ(1004)Anagrams by Stack (DFS+stack)
    HDU(3374) (KMP + 最小表示法)
    FZU Problem 1926 填空(KMP好题一枚,确实好)
    POJ(2481)Cows 树状数组
    HOJ (1042) 整数划分
    LeetCode: Two Sum
  • 原文地址:https://www.cnblogs.com/yanminggang/p/10758569.html
Copyright © 2011-2022 走看看