【发布时间】:2018-03-07 01:01:18
【问题描述】:
这些是我的课程的代码:
class Employee:
def __init__(self, name, gender):
self.name = name
self.gender = gender
class Salary:
def jump(self, name, salary):
print(self.name, self.salary)
class Male(Salary, Employee):
def __init__(self, name, gender, occupation):
super(Male, self).__init__(name, gender, occupation)
self.occupation = occupation
# Separate from all classes (list of instantiated objects)
employee1 = Male("Jim", "male", "technician")
print(Male.name)
当我在创建所有类后使用代码的最后两行时,在引用 super(Male, self).... 和employee1 = Male(...行。
【问题讨论】:
-
super(Dog, self).__init__(name, color, owner)参数太多 -
Extra,
k = Klass()和k.method()与Klass.method(k)完全相同。 -
你使用继承错误;
Male不是Salary的一种。 -
你也用
super错了;你必须知道哪些类出现在Male的方法解析顺序中,这样你就不会传递任何不期望的参数。有关正确使用super的更多信息,请参阅rhettinger.wordpress.com/2011/05/26/super-considered-super。
标签: python