class Character(object):
def __init__(self, name):
self._name = name
class King(Character):
def show(self):
print("Name:", self._name)
class CharacterDecorator(Character):
def __init__(self, character):
self._Character = character
def show(self):
self._Character.show()
class SwordCharacterDecorator(CharacterDecorator):
def show(self):
self._Character.show()
self.show_info()
def show_info(self):
print("Have Sword")
class SheidCharacterDecorator(CharacterDecorator):
def show(self):
self._Character.show()
self.show_info()
def show_info(self):
print("Have Sheid")
def main():
print('-'*10)
Peter = King("Peter")
Peter.show()
print('-'*10)
swordCharacterDecorator = SwordCharacterDecorator(Peter)
swordCharacterDecorator.show()
print('-'*10)
sheidCharacterDecorator = SheidCharacterDecorator(swordCharacterDecorator)
sheidCharacterDecorator.show()
print('-'*10)
if __name__ == "__main__":
main()