-
多態
''' 多態: 多種形態 在類的方法中,參數是一個父類的統稱,可以接收該父類下的所有子類型。 在方法中使用isinstance(對象,類別)進行類別的判斷 isinstance(對象,類別)函數的返回值是:bool ''' class PetShop: def __init__(self, name): self.name = name self.pets = set() def add_pet(self, pet): # pet=phone pet=cat pet=dog pet=rabit # 使用isinstance判斷類型 if isinstance(pet, Pet): self.pets.add(pet) print('添加成功!') else: print('不是寵物,不收!') def sale_pet(self, pet): pass def show_pet(self): for pet in self.pets: print(pet) # 將共同的特徵提取到父類中 class Pet: def __init__(self, id, nickname, color): self.id = id self.nickname = nickname self.color = color def __str__(self): return self.nickname class Dog(Pet): type = '狗' def see_house(self): print('小狗的特長就是看家....') class Cat(Pet): type = '貓' def catch_mouse(self): print('小貓的特長就是抓大老鼠....') class Phone: def __init__(self, brand, price): self.brand = brand self.price = price def __str__(self): return self.brand shop = PetShop('愛寵寵物商店') phone = Phone('華爲', 3999) shop.add_pet(phone) dog1 = Dog(1, '大黃', '黃色') shop.add_pet(dog1) cat1 = Cat(2, '花花', '灰色') shop.add_pet(cat1) # # phone1 = Phone('oppo', 1999) # shop.add_pet(phone1) # 遍歷打印所有的寵物 shop.show_pet()
多態
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.