当前位置:网站首页>定义一个抽象的Role类有姓名年龄性别爱好等成员变量要求尽可能隐藏所有变量(能够私有就私有)再通过Get()和Set()方法对各变量进行读写,其中龄必须在0到150岁性别必须是男或者女姓名必须是2个字
定义一个抽象的Role类有姓名年龄性别爱好等成员变量要求尽可能隐藏所有变量(能够私有就私有)再通过Get()和Set()方法对各变量进行读写,其中龄必须在0到150岁性别必须是男或者女姓名必须是2个字
2022-04-22 06:12:00 【欣慰的三叶草(● ̄(エ) ̄●)】
1 编程完成下题: (1)定义一个抽象的"Role"类,有姓名,年龄,性别,爱好等成员变量。 1)要求尽可能隐藏所有变量(能够私有就私有); 2)再通过GetXXX()和SetXXX()方法对各变量进行读写,其中: * 年龄必须在0到150岁; * 性别必须是男或者女; * 姓名必须是2个字到4个字。 3)定义一个play()方法,该方法不返回任何值,输出一个字符串,格式如下:“我叫XXX,性别X,我今年X岁了,我喜欢XXX。” 4)定义两个构造方法,一个无参数,一个有4个参数。 (2)从Role类派生出一个"Employee"类,该类具有Role类的所有成员,并扩展salary成员变量。 1)同时增加一个静态成员变量“职工编号(ID)”; 2)至少有两个构造方法,要体现出super的用法; 3)覆盖play()方法,输出一个字符串,格式如下:“我叫XXX,工号是X,性别X,我今年X岁了,我喜欢XXX,我的薪资是XXX。” (3)“Manager"类继承"Employee"类。 1)新增一个类成员变量"vehicle”(vehicle为交通工具的意思); 2)覆盖play()方法。 (4)测试Manager和Employee。
class Role(object):
id = '您还没有输入职工编号呦~'
def __init__(self, name, age, sex, hobby):
self.__name = name
self.__age = age
self.__sex = sex
self.__hobby = hobby
def get_name(self):
return self.__name
def set_name(self, name):
if 2 <= len(name) <= 4:
self.__name = name
def get_age(self):
return self.__age
def set_age(self, age):
if age > 0 and age < 150:
self.__age = age
def get_sex(self):
return self.__sex
def set_sex(self, sex):
if sex == '男' or sex == '女':
self.__sex = sex
def get_hobby(self):
return self.__hobby
def set_hobby(self, hobby):
self.__hobby = hobby
def play(self):
print('我叫:{}, 性别:{}, 我今年:{}岁了, 我喜欢:{}。'.format(self.get_name(),
self.get_sex(), self.get_age(), self.get_hobby()))
class Employee(Role):
def __init__(self, name, age, sex, hobby, salary):
super().__init__(name, age, sex, hobby)
self.__salary = salary
def get_salary(self):
return self.__salary
def set_salary(self, salary):
self.__salary = salary
@staticmethod
def ID(id):
id = input('请输入您的职工编号:')
return id
def DiaoYong_staticmethod(self):
self.id = self.ID(id)
def play(self):
print('我叫:{}, 职工编号是:{}, 性别:{}, 我今年:{}岁了, 我喜欢:{}, 我的薪资是:{}。'.format(self.get_name(),
self.id, self.get_sex(), self.get_age(), self.get_hobby(), self.get_salary()) + '\n')
class Manager(Employee):
def __init__(self, name, age, sex, hobby, salary, vehicle):
super().__init__(name, age, sex, hobby, salary)
self.__vehicle = vehicle
def get_vehicle(self):
return self.__vehicle
def set_vehicle(self, vehicle):
self.__vehicle = vehicle
def play(self):
print('我叫:{}, 职工编号是:{}, 性别:{}, 我今年:{}岁了, 我喜欢:{}, 我的薪资是:{}, '
'交通工具是:{}。'.format(self.get_name(),self.id, self.get_sex(), self.get_age(),
self.get_hobby(), self.get_salary(), self.get_vehicle()))
if __name__ == '__main__':
print('Employee测试(调用职工编号):')
Cyg = Employee('曹有根', 21, '男', '看动漫', 6000)
Cyg.DiaoYong_staticmethod()
Cyg.play()
print('Manager测试(不调用职工编号):')
C_yg = Manager('曹有根', 21, '男', '看动漫', 6000, '私家车')
# C_yg.DiaoYong_staticmethod()
C_yg.play()

版权声明
本文为[欣慰的三叶草(● ̄(エ) ̄●)]所创,转载请带上原文链接,感谢
https://blog.csdn.net/cygqtt/article/details/106489750
边栏推荐
- 微信支付 iframe子页面 无响应
- CLion和动态链接库
- Changes in the number of different types of calls in different months in 911 data
- 关于Log4Net和NLog使用的帮助文档
- 腾讯云对象存储服务的使用
- Sad process from Fab factory to IC Verification
- NOI / 1.5.25:求特殊自然数
- Nacos persistent switch configuration
- ParseException Unparseable date 时间转换异常
- STM32 timer generates event Tim_ GenerateEvent
猜你喜欢

VScode 看这一篇就够了
![[SVN] subversion installation notes](/img/71/d07dbe13d1ef160b4e14439e7645ef.png)
[SVN] subversion installation notes

Use of Tencent cloud object storage service

安裝和修改uTools及vscode插件安裝路徑

C daily development notes -- solve the problem that one set references another set, resulting in changes together

再见了Postman,有一说一:Apifox才是YYDS

左移与右移

【Bug小记】antd表格高度自适应窗口高度

Install and modify the installation path of utools and vscode plug-ins

完成一个学生信息管理系统,系统练习面向对象、函数、字符串等知识。实现知识的综合应用。 使用类、函数、数据库等来实现
随机推荐
XPath of crawler notes
腾讯云对象存储服务的使用
微信第三方网页授权
RSS入坑指南
日常开发随手记------VS上一些好用的设置
Activity支持多窗口显示
Use of Tencent cloud object storage service
. net learning notes - about Net core (3) [reading configuration files, general parsing JSON files, reading static files]
Nacos命名空间分组和DataID三者关系
SeekBar 自定义 样式 详解
写一个方法sanjiao(a, b, c),判断三个参数是否能构成一个三角形,如果不能则抛出异常IllegalArgumentException,显示异常信息a,b,c”不能构成三角形”,如果可以
NOI / 1.5.25:求特殊自然数
Clion and dynamic link library
Shift left and right
分布式任务调度与计算框架:PowerJob 高级特性-OpenAPI 04
common-net hp unix系统 ftp服务器 listFiles 返回为空解决方案。
Sad process from Fab factory to IC Verification
Nacos之服务配置中心
Latex symbol and formula set
[SVN] subversion installation notes