python学习三

68 阅读2分钟

面向对象

成员方法

image.png

在Python中,如果将函数定义为class(类)的成员,那么函数会称之为:方法

image.png

在类中定义成员方法和定义函数基本一致,但仍有细微区别

image.png

可以看到,在方法定义的参数列表中,有一个:self关键字 ,它是成员方法定义的时候,必须填写的,但是传参的时候可以忽略它

  • 它用来表示类对象自身的意思
  • 当我们使用类对象调用方法的是,self会自动被python传入
  • 在方法内部,想要访问类的成员变量,必须使用self

构造方法

基于类创建对象的语法:

Python类可以使用: _ init _()  方法,称之为构造方法

在创建类对象(构造类)的时候,会自动执行,并将传入参数自动传递给__init__方法使用

封装

面向对象编程,是基于模板(类)去创建实体(对象),使用对象完成功能开发

面向对象包含3大主要特性:封装 继承 多态

将现实世界事物在类中描述为属性和方法,即为封装

image.png

现实事物有部分属性和行为是不公开对使用者开放的。同样在类中描述属性和方法的时候也需要达到这个要求,就需要定义私有成员了

成员变量和成员方法的命名均以 _ _ 作为开头即可

image.png

私有成员无法被类对象使用,但是可以被其它的成员使用。

image.png

继承

继承:将从父类那里继承(复制)来成员变量和成员方法(不含私有)

单继承:

image.png

多继承:

image.png

多个父类中,如果有同名的成员,那么默认以继承顺序(从左到右)为优先级
pass是占位语句,用来保证函数(方法)或类定义的完整性,表示无内容,空的意思

复写:

子类继承父类的成员属性和成员方法后,如果对其“不满意”,那么可以进行复写。即在子类中重新定义同名的属性或方法即可

image.png

一旦复写父类成员,那么类对象调用成员的时候,就会调用复写后的新成员 如果需要使用被复写的父类的成员,需要特殊的调用方式: image.png image.png

注意:  只能在子类内调用父类的同名成员,子类的类对象直接调用会调用子类复写的成员

多态

image.png