#面向对象
class 类名():
def __init__(self,姓名,年龄):
#添加实例属性
self.姓名 =姓名
self.年龄 =年龄
def 实例方法(self):
print(f'你的姓名是{self.姓名}')
print(f'你的年龄是{self.年龄}')
对象1=类名('Aleen',20)#创建对象
对象1.实例方法() #调用实例方法
对象2=类名('Barden',30)#创建对象
对象2.实例方法() #调用实例方法
对象3=类名('Caesar',40)#创建对象
对象3.实例方法() #调用实例方法
class bing():
def __init__(self):
#烤制时间
self.time=0
#烤制状态
self.status='raw'
#调料列表
self.seasoning=[]
def ttime(self,time):
#1.计算总时间
self.time+=time
#2.用总时间判断
if 0 <= self.time <3:
self.status = 'raw'
elif 3 <= self.time <5:
self.status = 'almost'
elif 5<= self.time< 8:
self.status = 'ripe'
else:
self.status = 'burnt'
def season(self,seasoning):
self.seasoning.extend(seasoning)
#str方法
def __str__(self):
return f'本次烤制时间为{self.time},状态是{self.status},调料有{self.seasoning}'
wuren=bing()
wuren.ttime(2)
wuren.season(['sugar','peanut'])
print(wuren)
类名大写又忘了···
#对象.__mro__ 手动查找类的继承顺序
#子类和父类具有同名属性和方法时默认使用子类的属性和方法
#组合
class yewen(object):
def __init__(self,x):
self.gongfu= x
class lixiaolong(object):
def __init__(self,y):
self.gongfu= y
class hongkong(object):
def __init__(self,x,y):
self.yewen=yewen(x)
self.lixiaolong=lixiaolong(y)
def times(self):
print(f'yewen use kongfu {self.yewen.gongfu},lixiaolong use kongfu {self.lixiaolong.gongfu}')
wo=hongkong(1,10)
wo.times()
#私有权限
self.__weapon='AK' 属性
def __times(self): 方法
get_data 获取属性
set_data 修改属性
#super方法
def aandb(self)
supor().__init__()
supor().实例方法()
``
`

76

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



