class Dog(object):
def __init__(self, name, age = 1):
self.name = name
self.age = age
def eat(self):
print('名字是{}, 年龄{}岁的小狗在吃饭'.format(self.name, self.age))
def play(self):
print('名字是{}, 年龄{}岁的小狗在玩'.format(self.name, self.age))
def sleep(self):
print('名字是{}, 年龄{}岁的小狗在睡觉'.format(self.name, self.age))
def watch(self):
print('名字是{}, 年龄{}岁的小狗在看家'.format(self.name, self.age))
d = Dog('小黑', 18)
d.eat()
class Dog(object):
def __init__(self, name, age = 1):
self.name = name
self.age = age
def eat(self):
print('%s在吃饭' % self)
def play(self):
print('%s在玩' % self)
def sleep(self):
print('%s在睡觉' % self)
def watch(self):
print('%s在看家' % self)
def __str__(self) -> str:
return '名字是{}, 年龄{}岁的小狗'.format(self.name, self.age)
d = Dog('小黑', 18)
class Person(object):
def __init__(self, name, pets, age = 1):
self.name = name
self.age = age
self.pets = pets
def eat(self):
print('%s在吃饭' % self)
def play(self):
print('%s在玩' % self)
def sleep(self):
print('%s在睡觉' % self)
def yangPets(self):
for pet in self.pets:
pet.eat()
pet.play()
pet.sleep()
def make_pets_work(self):
for pet in self.pets:
if isinstance(pet, Dog):
pet.watch()
elif isinstance(pet, Cat):
pet.catch()
def __str__(self) -> str:
return '名字是{}, 年龄{}岁的小狗'.format(self.name, self.age)
class Cat(object):
def __init__(self, name, age = 1):
self.name = name
self.age = age
def eat(self):
print('%s在吃饭' % self)
def play(self):
print('%s在玩' % self)
def sleep(self):
print('%s在睡觉' % self)
def catch(self):
print('%s在捉老鼠' % self)
def __str__(self) -> str:
return '名字是{}, 年龄{}岁的小猫'.format(self.name, self.age)
class Dog(object):
def __init__(self, name, age = 1):
self.name = name
self.age = age
def eat(self):
print('%s在吃饭' % self)
def play(self):
print('%s在玩' % self)
def sleep(self):
print('%s在睡觉' % self)
def watch(self):
print('%s在看家' % self)
def __str__(self) -> str:
return '名字是{}, 年龄{}岁的小狗'.format(self.name, self.age)
d = Dog('小黑', 8)
c = Cat('xiaohong', 2)
p = Person('sz', [d, c], 18)
p.yangPets()
p.make_pets_work()
class Person(object):
def __init__(self, name, pets, age = 1):
self.name = name
self.age = age
self.pets = pets
def eat(self):
print('%s在吃饭' % self)
def play(self):
print('%s在玩' % self)
def sleep(self):
print('%s在睡觉' % self)
def yangPets(self):
for pet in self.pets:
pet.eat()
pet.play()
pet.sleep()
def make_pets_work(self):
for pet in self.pets:
pet.work()
def __str__(self) -> str:
return '名字是{}, 年龄{}岁的人'.format(self.name, self.age)
class Cat(object):
def __init__(self, name, age = 1):
self.name = name
self.age = age
def eat(self):
print('%s在吃饭' % self)
def play(self):
print('%s在玩' % self)
def sleep(self):
print('%s在睡觉' % self)
def work(self):
print('%s在捉老鼠' % self)
def __str__(self) -> str:
return '名字是{}, 年龄{}岁的小猫'.format(self.name, self.age)
class Dog(object):
def __init__(self, name, age = 1):
self.name = name
self.age = age
def eat(self):
print('%s在吃饭' % self)
def play(self):
print('%s在玩' % self)
def sleep(self):
print('%s在睡觉' % self)
def work(self):
print('%s在看家' % self)
def __str__(self) -> str:
return '名字是{}, 年龄{}岁的小狗'.format(self.name, self.age)
d = Dog('小黑', 8)
c = Cat('xiaohong', 2)
p = Person('sz', [d, c], 18)
p.yangPets()
p.make_pets_work()
封装:
class Animal:
def __init__(self, name, age = 1) -> None:
self.name = name
self.age = age
def eat(self):
print('%s在吃饭' % self)
def play(self):
print('%s在玩' % self)
def sleep(self):
print('%s在睡觉' % self)
class Person(Animal):
def __init__(self, name, pets, age = 1):
super(Person, self).__init__(name, age)
self.pets = pets
def yangPets(self):
for pet in self.pets:
pet.eat()
pet.play()
pet.sleep()
def make_pets_work(self):
for pet in self.pets:
pet.work()
def __str__(self) -> str:
return '名字是{}, 年龄{}岁的人'.format(self.name, self.age)
# p = Person('sz', [1, 2], 18)
# print(p.__dict__)
class Cat(Animal):
def work(self):
print('%s在捉老鼠' % self)
def __str__(self) -> str:
return '名字是{}, 年龄{}岁的小猫'.format(self.name, self.age)
class Dog(Animal):
def work(self):
print('%s在看家' % self)
def __str__(self) -> str:
return '名字是{}, 年龄{}岁的小狗'.format(self.name, self.age)
d = Dog('小黑', 8)
c = Cat('xiaohong', 2)
p = Person('sz', [d, c], 18)
p.yangPets()
p.make_pets_work()