面向过程:功能上的封装 (C语言)
面向对象:属性和行为上的封装 (python/java)
类:(生鲜蔬菜一类、酒水一类)
类可以比做成是一个模板,创建对象是根据模板做的实例
class Student:
# 类属性:定义在类中,方法外的变量
school='北京教育'
def __init__(self,xm,age): #xm,age是方法的参数,是局部变量,作用域是整个__init__方法
self.name=xm #左侧是实例属性,xm是局部变量,将局部变量的值xm赋值给实例属性self.name
self.age=age#实例的名称和局部变量的名称可以相同
#定义在类中的函数,称为方法,自带一个参数
def show(self):
print(f'我叫:{self.name},今年:{self.age}')
#静态方法
@staticmethod
def sum():
print('这是一个静态方法,不能用实例属性,也不能调用实例方法')
#类方法
@classmethod
def cm(cls):
print('这是一个类方法,不能用实例属性,也不能调用实例方法')
#创建类的对象
stu=Student(xm:'ydj',age:18)
#实例属性,使用对象名进行打点调用
print(stu.name,stu.age)
#类属性,直接使用类名,打点调用
print(Student.school)
#实例调用,适用对象名
stu.show()
#类方法和静态方法一样
Student.cm()
使用类方法创建N个对象
#创建类的对象
stu=Student(xm:'ydj',age:18)
stu2=Student(xm:'lj',age:16)
stu3=Student(xm:'yWj',age:15)
#给类属性赋值
Student.school='天津教育'
lst=[stu,stu2,stu3] #将学生对象存到列表中