一些概念 ----
根据类创建的对象成为实例化
类中的函数成为方法__init__()这种带两个下划线的被成为特殊方法
每个类都有属性 可以用 aaa.name 来调用属性
每个类的方法 可以用 aaa.change() 来调用方法
类的创建
class tiezi:
def __init__(self,weight,height):
self.weight=weight
self.height=height
self.age=19
def bmi(self):
self.bmi=self.height/self.weight
return self.bmi
__init__方法对实例的属性进行初始化,在实例对象创建时就会被调用
实例的创建:
a=tiezi(176,75)
print(tiezi.bmi())
子类的创建
class luozi(tiezi):
def __init__(self,weight,height):
super().__ini__(weight,height)
self.eyes='blue'
def bmi(self):
self.bmi=self.weight/self.height
return self.bmi
当开发的时候,又一个目标是之前创建过的类的一个特殊情况,因此只需要在此基础上多增加几个属性和方法,这样就可以用到子类
创建子类,要在类后面加上(父类)
在__init__里要用super().init(xxx,yyy) 来继承父类的属性 #注意没有self参数
这样的子类还可以调用父类的方法
将实例作为属性
class canliang():#罗子必须有canliang
def __init__(self,color='red'):
self.color=color
class luozi(tiezi):
def __init__(self,weight,height):
super().__ini__(weight,height)
self.pet=canliang()#luozi有一个红眼睛的宠物canliang
def bmi(self):
self.bmi=self.weight/self.height
return self.bmi
这样就可以把一个大工程的许多多小工程变成大对象的一个个小对象