面向对象
成员方法
在Python中,如果将函数定义为class(类)的成员,那么函数会称之为:方法
在类中定义成员方法和定义函数基本一致,但仍有细微区别
可以看到,在方法定义的参数列表中,有一个:self关键字 ,它是成员方法定义的时候,必须填写的,但是传参的时候可以忽略它
- 它用来表示类对象自身的意思
- 当我们使用类对象调用方法的是,self会自动被python传入
- 在方法内部,想要访问类的成员变量,必须使用self
构造方法
基于类创建对象的语法:
Python类可以使用: _ init _() 方法,称之为构造方法
在创建类对象(构造类)的时候,会自动执行,并将传入参数自动传递给__init__方法使用
封装
面向对象编程,是基于模板(类)去创建实体(对象),使用对象完成功能开发
面向对象包含3大主要特性:封装 继承 多态
将现实世界事物在类中描述为属性和方法,即为封装
现实事物有部分属性和行为是不公开对使用者开放的。同样在类中描述属性和方法的时候也需要达到这个要求,就需要定义私有成员了
成员变量和成员方法的命名均以 _ _ 作为开头即可
私有成员无法被类对象使用,但是可以被其它的成员使用。
继承
继承:将从父类那里继承(复制)来成员变量和成员方法(不含私有)
单继承:
多继承:
多个父类中,如果有同名的成员,那么默认以继承顺序(从左到右)为优先级
pass是占位语句,用来保证函数(方法)或类定义的完整性,表示无内容,空的意思
复写:
子类继承父类的成员属性和成员方法后,如果对其“不满意”,那么可以进行复写。即在子类中重新定义同名的属性或方法即可
一旦复写父类成员,那么类对象调用成员的时候,就会调用复写后的新成员 如果需要使用被复写的父类的成员,需要特殊的调用方式:
注意: 只能在子类内调用父类的同名成员,子类的类对象直接调用会调用子类复写的成员
多态