使用列表可以節省很多代碼行,但不會消除OOP背後的想法嗎?因爲使用函數式編程來實現它會更有意義。在OOP中將所有信息放入列表中而不是類繼承是否是不好的做法?
使用Python中列出的例子:
class Pets:
def printlist(self, petslist):
for pet in petslist:
print pet[0]+ " is a "+pet[1]
pet = Pets()
pet.printlist([('parrot','bird'),('snake','reptile'),('dog','mammal')])is a "+pet[1]
使用類繼承的例子:
class Pets:
def __init__(self, pet, petclass):
self.petclass=petclass
self.pet=pet
def printlist(self):
print self.pet+" is a "+self.petclass
class Dog(Pets):
def __init__(self):
Pets.__init__(self, "dog", "mammal")
class Parrot(Pets):
def __init__(self):
Pets.__init__(self, "parrot", "bird")
class Snake(Pets):
def __init__(self):
Pets.__init__(self, "snake", "reptile")
x = Dog()
x.printlist()
y = Parrot()
y.printlist()
z = Snake()
z.printlist()
而且,如果該列表是太大,通過繼承來處理呢?使用可以從文本文件或其他東西導入的列表不是很容易嗎?
這樣做會使OOP在這種情況下無用嗎?或者有什麼我在這裏失蹤?
感謝您的解釋。我可能使用了一個不好的例子,但我有你的觀點。 – Samy