Day5——继承

文章介绍了Python中的类继承概念,通过创建全职员工(FullTimeEmployee)和兼职员工(PartTimeEmployee)类来演示。全职员工继承自员工类,拥有姓名、工号和月薪属性;兼职员工同样继承自员工类,具有姓名、工号、日薪和每月工作天数属性。两个子类都重写了父类的__init__方法,并实现了各自计算工资的方法。
摘要由CSDN通过智能技术生成

编写类时,并非总是要从空白开始、如果你 要编写的类是另一个现成类的特殊版本,可以使用继承。一个类继承另一个类时,它将自动获得另一个类的所有属性和方法;原有的类称为父类,而新类称为子类。子类继承了其父类的所有属性和方法,同时还可以定义自己的属性和方法。

1.子类的方法__init__()

 创建子类的实例时,Python首先需要完成的任务是给父类的所有属性赋值。为此子类的方法_init_需要父类

     下面是实操和详细代码解释

#类继承练习:
#分为两类 全职员工FullTimeEmployee,兼职员工 PartTimeEmployee
#全职和兼职都有姓名name、工号id属性
#都具有打印信息 print——info方法
#全职有月薪 monthly——salary
#兼职有日新 daily——salary、每月工作天数 work——days属性
#全职和兼职都有计算月薪 calculate_monthly_pay的方法

class Employee: #定义一下员工这个父类
    def __init__(self,name,id): #然后把姓名工号属性放在构造函数里面
        self.name=name
        self.id=id

    def print_info(self): #定义一个打印信息的方法
        print(f"员工姓名:{self.name},工号:{self.id}")#把名字和编号打印出来

#然后是全职员工类,全职员工类继承员工类
class FullTimeEmployee(Employee): #类名里面加上括号
    #姓名和工号的初始方法已经在父类里面写好了,我们还缺月薪属性

    def __init__(self,name,id,monthly_salary): #还要把全职用工的自己的月薪属性写上
        super().__init__(name,id)
        # 用super表示父类 并用init调用父类的构造函数
        self.monthly_salary=monthly_salary
    def calculate_monthly_pay(self):
        return self.monthly_salary #计算全职员工的月薪
#兼职员工
class PartTimeEmployee(Employee):
    def __init__(self,name,id,daily_salary,work_days):
        super().__init__(name, id)
        self.daily_salary=daily_salary
        self.work_days=work_days

    def calculate_monthly_salary(self):
        return self.daily_salary*self.work_days

zhangsan=FullTimeEmployee("张三","1001",6000) #创建张三给他属性
lisi=PartTimeEmployee("李四","1002",230,15)
zhangsan.print_info() #调用打印方法
lisi.print_info()
print(zhangsan.calculate_monthly_pay()) #调用计算工资方法
print(lisi.calculate_monthly_salary())

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值