程序员,拥有,姓名,性别,年龄,工资,和编程技能
项目经理必须又程序员晋升而来,拥有奖金,和管理技能
请使用面向对象来表达这种关系
选做需求,让程序员和项目经理都能调用save将对象序列化到文件
"""
import json
class Programmer: #程序员
def __init__(self,name,age,gender ,money): #gender 性别
self.name = name
self.age = age
self.gender = gender
self.money = money
def skill(self):
print(f"{self.name}会编程")
def save(self):
with open(f"{self.name}.json", "w", encoding="utf-8")as f:
json.dump(self.__dict__, f,ensure_ascii=False)
f.flush()
class Manager(Programmer): #manager 经理
def __init__(self,name,age,gender,money,bonus): # bonus 奖金
super().__init__(name,age,gender,money)
self.bonus = bonus
def gl_skill(self,gl_skill2):
self.gl_skill2 = gl_skill2
print("管理程序员")
h1 = Programmer("json",22,"man",2000)
h2 = Manager("杨鑫",18,"man",20000,300000)
# h1.skill()
# h2.gl_skill(h1)
# h2.skill()
# h1.save()
print(h1.__dict__)
print(h2.__dict__)
h2.save()