什么是类和对象
听说写博客能将学到的知识输出,过滤 和整理,所以随便写写
个人愚见,文辞粗浅,也是在学习基础道路上的小白,如有不对,请大佬斧正
类:
是一类事物的抽象模型,不是真是存在的,描绘了该类事物共同特征和行为?
例如猫类 ,人类, 狗类,物以‘类'聚,只要是有 相同特征的个体,
不管是一个还是一亿个,都可以称为 ‘类’
对象
比喻类是图纸的话,那么对象就是从图纸中拿出来的个体
汽车图纸(汽车类)
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()
初始化方法 init()
除了整个类都具备的属性,还有自己的特征,实例属性
class Car() # 汽车类
#类属性 =》特征
safe =True
#定义一个特别的函数,定义好形式参数,在初始化的时候传入实际参数
def __init__(self,chepai:'None,color='red')
#定义对象产生的过程(每台汽车的独特属性)
self.chepai=chepai
self.color='color
baoma = Car(chepai='湘A',color='红色')