类:同一类事务的抽象描述(属性,功能)
对象:符合类的描述,是哪一类事物的具体存在
为什么封装成类:把相关功能封装成类,不管哪个对象都可以调用
1.定义类
2.生成对象
1.生成类
class 类名(大驼峰)
属性(变量等于值)
方法(功能函数)



2.生成对象
对象名 = 类名()
调用:
对象名.属性/方法


重要
self,实例属性和实例方法
在class内部方法的参数
实例属性:self.属性名
实例方法:参数第一个是self
实例都是可以访问类属性,类方法的

要通过对象调用类,否则会出错
个性化定制对象属性init函数
此时实例有三个属性,可接受外部传参
实例有三个方法(行为)
调用传参
也可以在实例方法内部访问实例属性

首先在init函数中定义类的实例属性
在下面创建对象调用类的时候可以进行传参
在类内部的实例方法函数也可以通过self.init属性进行调用,实现参数传递

非重要
类属性,类方法
类属性:直接在类中定义的,不在任何实例方法当中
类型为: 函数加上@classmethod(可以通过类名调用),参数默认为cls,cls表示类本身
可以通过cls访问类的属性,但是不可以访问实例
实例可以访问类属性,类方法
**有self的必须要通过对象调用 **
kind 此时是类属性
set_kind(cls) 是类方法




类中的方法的参数 可以是其他类的实例对象

此时在student类中定义一个who_eat方法调用people类的eat方法
obj是people的对象
利用对象.方法(obj.eat)调用另一个类的方法

静态方法了解一下,,装饰器

本文深入探讨了面向对象编程的基本概念,包括类的定义、对象的生成以及封装的重要性。通过实例解析了如何创建类并生成对象,强调了`__init__`函数在初始化对象属性时的作用。此外,还介绍了类属性、类方法和实例方法的使用,以及如何通过对象调用另一个类的方法。最后,提到了静态方法的概念,帮助读者全面理解面向对象编程的各个层面。
1万+

被折叠的 条评论
为什么被折叠?



