"""定义一个 Employee 雇员类,要求如下:
(1) 属性有:id、name、salary
(2) 运算符重载+:实现两个对象相加时,默认返回他们的薪水和
(3) 构造方法要求:输入 name、salary,不输入 id。id 采用自增的方式,从 1000 开始自增,第一个新增对象是 1001,第二个新增对象是 1002
(4) 根据 salary 属性,使用@property 设置属性的 get 和 set 方法。set 方法要求输入:1000-50000 范围的数"""
class Employee:
id = 1000
def __init__(self, name, salary):
self.name = name
self.__salary = salary
Employee.id += 1
self.id = Employee.id
def __add__(self, other):
if isinstance(other, Employee):
return "{0}和{1}的薪水和是:{2}".format(self.name, other.name, self.__salary + other.__salary)
else:
return "输入错误"
@property
def salary(self):
return self.__salary
@salary.setter
def salary(self, salary):
if 1000 <= salary <= 50000:
self.__salary = salary
else:
print("输入错误")
a1 = Employee("jjj", 5000)
a2 = Employee("iii", 2000000)
print("{0}的员工编号是{1}工资{2}".format(a1.name, a1.id, a1.salary))
print("{0}的员工编号是{1}工资{2}".format(a2.name, a2.id, a2.salary))
print(a1 + a2)
a1.salary = 1000000
a1.salary = 6666
print(a1.salary)
请问老师,为什么我在后期修改工资的时候会判断工资输入错误,但是在a2直接输入工资就不能报错了
