• python面向对象编程


    面向对象编程,简称OOP, object oriented programming

    OOP编程的三大特性:封装,继承,多态

    1. 封装

      把功能的实现细节封装起来,不对外暴露。只留出入接口。

    2. 继承

      为了将代码重用,所以需要基础。包括单继承/多继承

      在2.7中,经典类,遵从深度优先原则进行继承;新式类,遵从广度优先原则

      在3.0以后,不论经典类还是新式类,都遵从广度优先原则。以后请全部按新式类来书写!

      经典类: class Foo

      新式类: object是所有类的基类,Foo继承基类object,Foo类的构造函数基于基类进行了重构

      class Foo(object) :

        def __init__(self,name,age,salary,course):

          super(Foo,self).__init__(self,name,age,salary)  # super是一个特殊的类,使用此语法,将父类的构造方法在子类构造方法中执行

          #object.__init__(self,name,age,salary) 此行是经典类中的写法。尽量不要这样写。因为在多继承中,该写法意味着需要显示地调用多个父类的构造方法,容易出问题

          self.salary = salary

          self.sex = sex

    3. 多态

      一种接口,多种实现

    类:

      属性attribute

        实例变量:存在每个对象的内存里

        类变量:存在类的内存里,所有实例共享这个变量

        私有属性/公有属性:带两个下划线__的变量如__var,是私有属性,只能在类的内部被调用

      方法function

    方法包括:普通方法、静态方法和类方法,三种方法在内存中都归属于类,区别在于调用方式不同。

      • 普通方法:由对象调用;至少一个self参数;执行普通方法时,自动将调用该方法的对象赋值给self
      • 类方法:由调用; 至少一个cls参数;执行类方法时,自动将调用该方法的复制给cls;def上一行加上@classmethod 
      • 静态方法:由调用;无默认参数;def上一行加上@staticmethod 
  • 相关阅读:
    在二进制与文本之间转换plist文件
    iOS 音频分贝的计算
    iOS 圆形水波浪效果实现
    iOS画圆、画线
    iOS IM开发准备工作(四)CocoaAsyncSocket的使用
    iOS IM开发准备工作(三)乱说Socket
    iOS IM开发准备工作(二)protobuf-objc安装及使用
    iOS IM开发准备工作(一)XML解析
    iOS IM开发blog写作计划
    西游记倒着看。。我从贴吧看来的
  • 原文地址:https://www.cnblogs.com/huamingao/p/6113967.html
Copyright © 2020-2023  润新知