听说写博客能将学到的知识输出,过滤 和整理,所以随便写写 个人愚见,文辞粗浅,也是在学习基础道路上的小白,如有不对,请大佬斧正
类和对象是面向对象语言的基础概念,类和对象是把现实世界和思维世界的实体在计算机的反应,类是对象的抽象,而对象是类的具体实例,类是不占内存的,对象占用空间比喻类是图纸的话,那么对象就是从图纸中拿出来的个体
汽车图纸(汽车类) 4s店里每一辆汽车就是汽车类的实例对象,每台实例对象拥有汽车类的属性,和方法
class Car() # 汽车类,但是只是泛指一个抽象的概念,没有具体的实例 #类属性 =》特征 safe =True #汽车的通用属性,汽车都有安全带 #行为,(实例方法) def jiasu(self) #汽车的行为 print('汽车正在加速') baoma = Car() #打印对象,发现存储在内存中 print(baoma) # 输出结果为:'<__main__.baoma object at 0x000001FF6CD42688> ' #打印类, print(baoma) #<class '__main__.maoma'> #实例化 baoma = Car() #通过对象名去调用里面的成员函数(行为) baoma.jiasu() #输出结果 汽车正在加速类属性(变量):整个类具备的属性,比如汽车类,汽车的通用属性,有四个轮子,有方向盘 实例属性(变量),对象属性 :实例化出来的每台汽车的属性,比如汽车可以加装天窗,座椅加热等等
baoma = Car() #通过类调用 Car.safe #通过对象也可以调用,因为汽车的通用属性那4s店的每台汽车都拥有他的属性 baoma.safe # 属性可以后天修改 Car.safe = False # 如果通过对象修改,(修改4S店的某一台汽车) baoma.safe = '没有安全带' print(baoma.safe) # 没有安全带 #再通过类调用 (汽车图纸的属性不会变) print(Car.safe) # False##方法 类方法: 每个成员或者整个类都可以调用的行为 实例方法;需要一个单独成员单独调用的行为,不是整个类调用
#实例方法 baoma = Car() baoma.jiasu # 不能用类直接调用实例方法,只能单独成员调用 #实例方法在定义的时候自带一个参数:self #但是实例方法在调用时不要传self的实际参数 Car.jiasu()除了整个类都具备的属性,还有自己的特征,实例属性
class Car() # 汽车类 #类属性 =》特征 safe =True #定义一个特别的函数,定义好形式参数,在初始化的时候传入实际参数 def __init__(self,chepai:'None,color='red') #定义对象产生的过程(每台汽车的独特属性) self.chepai=chepai self.color='color baoma = Car(chepai='湘A',color='红色')