宠物店类 PetShop
类属性:店名,店中宠物
类方法:展示所有宠物信息
宠物 - 狗类:
属性:昵称、性别、年龄、品种
类方法:叫、拆家、吃
宠物 - 猫类:
属性:昵称、性别、年龄、品种、眼睛颜色
类方法:叫、撒娇、吃
备注:狗的的叫声是汪汪,猫是喵喵
狗吃骨头,猫吃鱼
class PetShop(object):
def __init__(self, shop_name, pet_list=None):
self.shop_name = shop_name
if pet_list is None:
self.pet_list = []
self.pet_list = pet_list
def show_pet(self):
if self.pet_list is None:
return '【{}】新开店铺筹备中...'.format(self.shop_name)
print('【{}】新店开张,有{}个宠物:'.format(self.shop_name, len(self.pet_list)))
for pet in self.pet_list:
print(pet)
class Pet(object):
def __init__(self, name, sex, age, varieties):
self.name = name
self.sex = sex
self.age = age
self.varieties = varieties
def eat(self):
return '在吃东西'
def call(self):
return '在叫'
def __str__(self):
return '姓名:{},性别:{},年龄:{},品种:{}'.format(self.name, self.sex, self.age, self.varieties)
class Dog(Pet):
def call(self):
return '{}在汪汪汪的叫'.format(self.name)
def eat(self):
return '{}正在啃骨头'.format(self.name)
def dothing(self):
return '{}在拆家'.format(self.name)
class Cat(Pet):
def __init__(self, name, sex, age, varieties, eyes_color):
super(Cat, self).__init__(name, sex, age, varieties)
self.eyes_color = eyes_color
def call(self):
return '{}喵喵喵叫'.format(self.name)
def eat(self):
return '{}吃小鱼'.format(self.name)
def dothing(self):
return '{}撒娇'.format(self.name)
def __str__(self):
x = super(Cat, self).__str__()
x += ',眼睛颜色:{}'.format(self.eyes_color)
return x
dog1 = Dog('大黄', 'male', 3, '中华田园犬')
dog2 = Dog('小黑', 'male', 4, '哈士奇')
cat1 = Cat('妙妙', 'female', 3, '巴厘猫', 'Green')
cat2 = Cat('毛毛', 'male', 2, '加菲猫', 'Blue')
Shop = PetShop('疯狂动物园', [dog1, dog2, cat2, cat1])
Shop.show_pet()