1.类
可以使用类去封装属性,并基于类创建出一个个的对象来使用,类可以包含属性和行为。
调用成员方法时,不需传入self的参数值
2.类的构造方法
#演示使用构造方法对成员变量进行赋值 #构造方法的名称:__init__ class Student: name=None age=None tel=None def __init__(self,name,age,tel): self.name=name self.age=age self.tel=tel print("Student类创建了一个类对象") stu=Student("周杰伦",31,"1856666666") print(stu.name) print(stu.age) print(stu.tel)
3.魔术方法
(2)__str__()
(3) __lt__()小于符号比较方法
直接对2个对象进行比较是不可以的,但是在类中实现__lt__方法,即可同时完成:小于符号 和 大于符号 2种比较
方法名:__lt__ 传入参数:other,另一个类对象 返回值:True 或 False 内容:自行定义
(4)__le__
__le__可用于:<=、>=两种比较运算符上。
(5)__eq__
不实现__eq__方法,对象之间可以比较,但是是比较内存地址,也即是:不同对象==比较一定是False结果。
实现了__eq__方法,就可以按照自己的想法来决定2个对象是否相等了。
4.封装
面向对象包含3大主要特性: 封装 继承 多态
封装就是将现实世界事物在类中描述为属性和方法。
类中提供了私有成员的形式来支持。 私有成员变量 私有成员方法
定义私有成员的方式非常简单,只需要:
私有成员变量:变量名以__开头(2个下划线)
私有成员方法:方法名以__开头(2个下划线) 即可完成私有成员的设置
【私有的成员变量和方法都不能令类对象所使用】
私有成员无法被类对象使用,但是可以被其它的成员使用。
私有成员的意义:在类中仅供内部使用的属性和方法,而不对外开放(类对象无法使用)
5.继承
(1). 什么是继承?
继承就是一个类,继承另外一个类的成员变量和成员方法
语法: 子类构建的类对象,可以 有自己的成员变量和成员方法 使用父类的成员变量和成员方法
(2). 单继承和多继承 单继承:一个类继承另一个类
多继承:一个类继承多个类,按照顺序从左向右依次继承 多继承中,如果父类有同名方法或属性,先继承的优先级高于后继承
(3). pass关键字的作用是什么 pass是占位语句,用来保证函数(方法)或类定义的完整性,表示无内容,空的意思
(4) 复写表示: 对父类的成员属性或成员方法进行重新定义
复写的语法: 在子类中重新实现同名成员方法或成员属性即可
在子类中,如何调用父类成员
注意:只可以在子类内部调用父类的同名成员,子类的实体类对象调用默认是调用子类复写的
6.继承
1. 什么是多态?
多态指的是,同一个行为,使用不同的对象获得不同的状态。 如,定义函数(方法),通过类型注解声明需要父类对象,实际传入子类对象进行工作,从而获得不同的工作状态
2. 什么是抽象类(接口)
包含抽象方法的类,称之为抽象类。
抽象方法是指:没有具体实现的方法(pass)称之为抽象方法
3. 抽象类的作用
多用于做顶层设计(设计标准),以便子类做具体实现。 也是对子类的一种软性约束,要求子类必须复写(实现)父类的一些方法 并配合多态使用,获得不同的工作状态。