class Employee:
__obj_flag = True
def __init__(self,name,salary,id):
self.name = name
self._salary = salary
self.id = id
def __add__(self, other):
if isinstance(other,Employee):
return 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("工资范围为1000-50000")
def s_id(self):
g_id = 1000
if self.id == " ":
if Employee.__obj_flag:
self.id = 1000
Employee.__obj_flag = False
return self.id
else:
g_id += 1
self.id = g_id
return self.id
else:
return self.id
def s_name(self,name):
pass
test1 = Employee("一",2000," ")
test1.s_id()
test2 = Employee("二",3000," ")
test2.s_id()
#验证id自增和薪资相加
print("新增对象id分别为{0},{1}".format(test1.id,test2.id))
print("{0}和{1}的薪资和为{2}".format(test1.name,test2.name,test1+test2))
#验证薪资是否符合要求
test3 = Employee("三",2000000," ")
test4 = Employee("四",200033," ")
print("{0}和{1}的薪资和为{2}".format(test3.name,test4.name,test3+test4))
[object Object]
老师为什么我输入工资为200000还是可以相加,没有报"工资范围为1000-50000"