zoukankan      html  css  js  c++  java
  • 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 
  • 相关阅读:
    课二 计算机硬件组成余下
    课一 计算机硬件组成
    电梯演讲视频
    团队成员个人介绍
    day-65Django
    day-64Django
    day-63Django
    day-62Django
    day-61Django
    day-60Django
  • 原文地址:https://www.cnblogs.com/huamingao/p/6113967.html
Copyright © 2011-2022 走看看