【发布时间】:2025-12-19 13:55:12
【问题描述】:
所以我让我的代码工作了,但是有两行代码把我搞砸了,不太确定该放什么。
代码(两行标记):
class Person(object):
numPerson = 0
def __init__(self,firstName,lastName):
self.firstName = firstName
self.lastName = lastName
def fullName(self):
print self.firstName +' '+self.lastName
class Employee(Person):
numEmployee = 0
def __init__(self,firstName,lastName,pay,employID):
Person.__init__(self, firstName, lastName)
self.pay = pay
self.employID = employID
Employee.numEmployee += 1
class Programmer(Employee):
def __init__(self,firstName,lastName,pay,employID,proLang):
self.proLang = proLang
Employee.__init__(self, firstName, lastName, pay, employID)
class Manager(Employee):
def __init__(self,firstName,lastName,pay,employID,progList):
self.progList = progList
Employee.__init__(self, firstName, lastName, pay, employID)
def addProgrammer(self):
self.progList.append(Programmer.fullName) <------------------- This line
def removeProgrammer(self):
if len(self.progList) == 0:
pass
else:
del self.progList[0]
def printList(self):
print self.progList
a = Manager('Alfred','Jones',20.00,0001,[])
b = Programmer('James','Smith', 11.75, 0002, 'Java')
a.addProgrammer() <--------------------------------------------- And This line
a.printList()
我正在尝试使用.addProgramer 方法将程序员的姓名添加到progList。我一直在尝试不同的组合,这是我得到的最接近的组合。
输出:
[<unbound method Programmer.fullName>]
所以,我不确定 addProgramer 方法中需要什么才能正确添加程序员姓名,或者我是否需要在最后的 a.addProgrammer 中添加一个参数。
【问题讨论】:
标签: python class call multiple-inheritance