Python父类与子类(用例子进行简单说明)

#类的继承学习:人力系统

#员工分为两类 全职员工 FullTimeEmployee 兼职员工 PartTimeEmployee

#全职和兼职都有 姓名 name 工号 id 属性

#都具备”打印信息 print_info (打印姓名 工号)方法

#全职有 月薪 monthly_salary

#兼职有 日薪 daily_salary 每月工作天数 work_days

#全职和兼职都有”计算月薪 calculate_monthly_pay "方法 但具体计算结果不一样

class person_system: #定义父类,这个父类的里的属性可以是子类都有的

def __init__(self,name,id): #这个父类有name和id属性,self表示对象,一定要加上

self.name = name

self.id = id

def print_info(self): #这是父类中的一个方法 即输出name和其对应的id

print(f"{self.name}的工号是{self.id}") #用了f方法输出类似format方法

#不懂得可以去博主的作品里搜一下

#博主已经解释过了

class FullTimeEmployee(person_system): #定义一个子类这个子类继承person_system这个父类

def __init__(self,name,id,monthly_salary):

#这个FullTimeEmployee子类他自己有name,id,monthly_salary三个属性

super().__init__(name,id) #用super方法继承到父类的name和id属性

self.monthly_salary = monthly_salary

def calculate_monthly_pay(self):#子类的一个打印方法

return (f"{self.name}的工号为{self.id},他的工资为{self.monthly_salary}")

class PartTimeEmployee(person_system):#另一个属于person_system的子类

def __init__(self,name,id,daily_salary,work_days):

super().__init__(name,id)#同样用super方法继承name和id

self.daily_salary = daily_salary

self.work_days = work_days

def calculate_monthly_pay(self):#这个子类的一个打印方法

self.sum = self.work_days * self.daily_salary

return (f"{self.name}的工号为{self.id},他的工资为{self.sum}")

王强 = FullTimeEmployee("王强",15,5000)

#定义王强是什么,括号里面填的是属性

王强.print_info()

#调用FullTimeEmployee类里的print_info方法

print(王强.calculate_monthly_pay())

#调用FullTimeEmployee类里的calculate_monthly_pay方法

老旦 = PartTimeEmployee("老旦",11,85,100)

老旦.print_info()

print(老旦.calculate_monthly_pay())

用于继承的方法不只有这一种还有两种没有解释,super方法是博主个人认为比较好用且快捷的继承方法

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值