クラスの継承を理解するのに問題があり、なぜこのPythonコードが機能しないのか疑問に思っていますが、ここで何が問題になっているのかを誰かに教えてもらえますか?
## Animal is-a object
class Animal(object):
def __init__(self, name, sound):
self.implimented = False
self.name = name
self.sound = sound
def speak(self):
if self.implimented == True:
print "Sound: ", self.sound
def animal_name(self):
if self.implimented == True:
print "Name: ", self.name
## Dog is-a Animal
class Dog(Animal):
def __init__(self):
self.implimented = True
name = "Dog"
sound = "Woof"
mark = Dog(Animal)
mark.animal_name()
mark.speak()
これは端末からの出力です
Traceback (most recent call last):
File "/private/var/folders/nd/4r8kqczj19j1yk8n59f1pmp80000gn/T/Cleanup At Startup/ex41-376235301.968.py", line 26, in <module>
mark = Dog(Animal)
TypeError: __init__() takes exactly 1 argument (2 given)
logout
私は動物に動物が実装されているかどうかを確認させようとしていました。実装されている場合は、動物から継承するクラスを取得して、Animalsが操作できる変数を設定しました。