定义一个 Employee 雇员类,要求如下:(1) 属性有:id、name、salary(2) 运算符重载+:实现两个对象相加时,默认返回他们的薪水和



class Employee:
    __init_flag=True

    def __init__(self,id,name,salary):
        self.id=id
        self.name=name
        self.salary=salary

    def __add__(self, other):
        if isinstance(other,Employee):
            return self.salary + other.salary
        else:
            return '不是同类型,无法相加'
    def input(self):

        if self.id ==' ':
            if Employee.__init_flag:
                global d
                self.id=d=1000
                Employee.__init_flag=False
                return self.id
            else:
                #这段主要解决了其他CSDN发布者所发布的一个bug:当调用该方法时,id始终为1001
                f=d+1
                d+=1
                self.id=f
                return self.id

        else:
            return self.id

    def get_salary(self):
        return self.salary

    def set_salary(self):
        if 1000<=self.salary<=50000:
            pass
        else:
            print('录入错误,数值应该在1K-50K范围内')
    def show(self):
        #该方法为测试Employee.input(self)的输出效果,增加了下面的调用则可以免去每次都需要
        #调用xx.input()
        Employee.input(self)
        print('id={0},name={1},salary={2}'.format(self.id,self.name,self.salary))
p1=Employee(' ','Gorden',3000)
p1.input()
p2=Employee(" ",'Dinaga',3050)
p2.input()
print(p1+p2)
print(p1.show())
print(p2.show())
p3=Employee(" ",'Joe',4000)
p4=Employee(" ",'Joke',4020)
p3.input()

print(p3.id)
print(p3.show())
print(p4.show())

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值