您现在的位置是:网站首页 > 博客日记 >

python之类的继承

作者:YXN-python 阅读量:150 发布日期:2023-11-23

# 共同类(父类)
class staff_class():
	def __init__(self, name, id, gender):
		self.name = name
		self.id = id
		self.gender = gender

	def print_(self):
		print(f'名字:{self.name}\n身份证号:{self._id}\n性别:{self.gender}')


# 兼职员工类
class part_timer(staff_class):
	def __init__(self, name, id, gender, working_days, day_rate):
		super().__init__(name, id, gender)
		self.gender = gender
		self.name = name
		self.working_days = working_days
		self.day_rate = day_rate

	def print_(self):
		return '名字:{}\n身份证号:{}\n性别:{}\n工资:{}'\
		.format(self.name,self.id,self.gender,self.working_days*self.day_rate)
		
# 正式员工类
class regular(staff_class):
	def __init__(self, name, id, gender, monthly_pay):
		super().__init__(name, id, gender)
		self.monthly_pay = monthly_pay

	def print_(self):
		return '名字:{}\n身份证号:{}\n性别:{}\n工资:{}'\
		.format(self.name,self.id,self.gender,self.monthly_pay)
		
# part_timer 存在 print_ 方法就调用,没有就调用父类的 print_ 方法
staff_a = part_timer('yxn','123456', '男', 20, 180)
print(staff_a.print_())
staff_b = regular('yxn','123456', '男', 5000)
print(staff_b.print_())

这段代码是一个员工类程序,包括共同类(父类)staff_class,兼职员工类part_timer和正式员工类regular。
staff_class包含员工的姓名、身份证号和性别,以及一个打印员工信息的方法。
兼职员工类part_timer和正式员工类regular分别继承staff_class类,并且都有自己的打印方法,用于打印不同类型员工的信息。
在代码的最后,创建了一个part_timer对象staff_a和一个regular对象staff_b,分别调用了它们的打印方法,打印出员工的信息。

YXN-python

2023-11-23