python面向对象

面向对象编程

面向对象编程:简称OOP。把对象作为程序的基本单元

面向过程的程序:计算机程序视为一系列命令集合

面向对象的程序:计算机程序视为一组对象的集合

  • python中所有数据类型都可视为对象
  • 面对对象是抽象出Class,根据Class创建Instance

类和对象

对象:某一具体事物的存在,可以直接使用

类: 将具有共同特征和行为的一组对象抽象定义为类

对象和类的关系

  • 类就是创建对象的模板
  • 一个类可以找到多个对象

定义类:class 类名()

  • object是python里所有类最顶级的父类
  • 类名的命名规则按照“大驼峰命名法”
  • def 函数是实例方法,第一个参数一般是self,表示实例对象
  • 可以根据已经定义的类去创建一个或多个对象

对象的属性和方法

添加和获取对象的属性:

  • 类外部添加对象属性:对象名.属性名 = 值
  • 类外部获取对象属性:对象名.属性名

通过self获取对象属性

  • 类内部添加对象属性:self.属性名 = 值
  • 类内部获取对象属性:self.属性名

init方法

  • _init_() 方法,创建对象时默认被调用运行,不需要手动调用
  • _init_(self)中的self参数,不需要开发者传递,python解释器会自动把当前对象引用传递过去
  • 一个类可以创建多个对象
  • _init_(self)中,默认1个参数名字self,若创建对象时传递2个实参,除了第一个形参外还需要2个形参
  • 若类中有多个对象,每个对象的属性是各自保存的,但实例方法是共享的,只占用一份内存空间
  • 类会通过self来判断是哪个对象调用了实例方法

继承

继承:描述多个类之间的所属关系

若A里的属性和方法可以复用,可以通过继承的方式传递到B里。类A就是基类,也叫父类;类B是派生类,也叫子类。

class A(object):
    def _init_(self):
        ...
    def ...

class B(A):
    def...
  1. 单继承:子类只继承一个父类

子类在继承的时候,在定义类时,小括号中为父类的名字

  • 父类的属性、方法,会被继承给子类
  • 子类对象可以直接使用父类的属性和方法
  1. 多继承:子类继承多个父类
  • 多继承可以继承多个父类,也继承了所有父类的属性和方法
  • 多个父类中,不重名的属性和方法,不会有任何影响
  • 当属性和方法重名时,会先继承写在前面的父类

多态

多态:不同的子类对象调用相同的父类方法,产生不同的执行结果

优点:可以增加代码的外部调用的灵活度

  • 多态以继承和重写父类方法为前提
  • 多态是调用方法的技巧,不会影响到类的内部设计

模块

模块:一个.py文件就是一个模块,模块是管理功能代码的

自定义模块:根据业务需要,自行创建

内置模块:python内部自带的不需要下载的模块

posted @ 2021-09-06 20:58  突然跳舞的咸鱼  阅读(53)  评论(0)    收藏  举报