我正在进行Python OOP测试,但我无法解决这个问题。所以类初始化器已经写好了。你不能改变这一点。在Employee类中,def set_salary
必须有两个参数:bonus和base_pay也在Employee类def get_salary
中,必须返回bonus和base_pay之和。我不知道如何获得私有示例。
class Salary:
def __init__(self, base_pay=0, bonus=0):
self.__base_pay = base_pay
self.__bonus = bonus
def set_bonus(self, y):
self.__bonus = y
def get_bonus(self):
return self.__bonus
def set_base_pay(self, y):
self.__base_pay = y
def get_base_pay(self):
return self.__base_pay
# Write methods Salary class here
class Employee:
def __init__(self, name='', base_pay=0, bonus=0):
self.__name = name
self.__salary = Salary(base_pay, bonus)
def set_name(self, x):
self.__name = x
def get_name(self):
return self.__name
def set_salary(self, bonus, base_pay):
self.__salary = self.__salary(bonus) + self.__salary(base_pay)
def get_salary(self):
return self.__salary
# Write methods for Employee class here
我试着解决它,但没有线索。希望你能帮助我,让我明白,并可以使用它以后。谢谢!
2条答案
按热度按时间xtfmy6hx1#
您的
set_salary
方法肯定应该如下所示显然
get_salary
“必须返回bonus和base_pay的总和”可以返回它们的总和…使用
Salary
类(您将其示例存储在self.__salary
中)提供的getter/setter方法。顺便说一下,getter和setter在Python中很奇怪。尽管它们可能在Java/C#等典型的OOP语言中很典型,但在Python中,我们肯定更愿意直接使用
@property
或字段。8ehkhllq2#
创建Proper方法来访问私有变量,并在子类中调用它们,然后求和