day17-面向对象编程
认识类和对象
1.什么是类,什么是对象
类:类就是拥有相同功能和相同属性的对象的集合。(类是抽象的)
对象:类的实例就是对象(对象是具体的)
2.定义类
通过代码来描述清楚你是拥有哪些相同属性和哪些相同功能的对象的集合
"""
语法:
class 类名:
类的说明文档
类的内容(类的属性和类的方法)
说明:
class - 关键字;固定写法
类名 - 程序员自己命名;
要求:是标识符;不能是关键字
规范:驼峰式命名,首字母大写; 见名知义; 不使用系统提供的模块名、类名、函数名...
类的说明文档 - 使用三个双引号引起来的注释, 主要是用来对类的功能进行说明。(可有可无)
类的内容 - 包括类的属性(类属性和对象属性)和类的方法(对象方法、类方法和静态方法)
"""
3.创建对象
语法:类名()
构造方法和初始化方法
1.什么是构造方法(函数)
名字和类同名,功能是创建对应的类的对象的函数。
python在定义类型的时候,系统会自动为这个类创建对应的构造方法
魔法方法:类中用 __ 开头并且用 __ 结尾的函数,统称为魔法方法。这一类方法不需要程序员去调用,系统会在合适的时候自动调用
2.初始化方法:__ init __
1)当通过类创建对象的时候,系统会自动调用这个类中的__ init __方法
2)在类中添加__ init __方法的时候,只要保证方法名和默认参数self不动以外,程序员可以根据情况随意添加参数和函数体
3)调用构造方法创建对象的时候需不需要参数,需要几个参数看对应类中的__ init __方法除了self以外有没有额外的形参,有几个
类的属性
1.类属性
定义:直接定义在类里面函数外面的变量
特点:不会因为对象不同而不一样
怎么用:类名、类属性
2.对象属性
定义:在__ init __函数中,以 ‘self.属性名=值’ 的形式来定义
特点:会因为对象不同而不一样
怎么用:对象.对象属性
对象方法
1.方法
定义在类中的函数就是方法。类中的方法分为:对象方法、类方法、静态方法
2.对象方法
怎么定义:直接定义在类中的函数就是对象方法(定义函数前不接装饰器)
特点:自带参数self;调用的时候参数self不需要传参,系统会自动将当前对象传给self(谁调用self就指向谁)
怎么调用:通过 对象.方法名() 的形式来调用
什么时候用:如果实现函数的功能需要用到对象属性的时候