1.以面向对象的思想,编写自定义类描述IT从业者。设定属性包括:姓名,年龄,技术方向,工作年限, 工作单位和职务;方法包括:工作 要求: 1) 设置属性的私有访问权限,通过公有的get,set方法实现对属性的访问 2) 限定IT从业人员必须年满15岁,无效信息需提示,并设置默认年龄为15。 3) 限定“技术方向”是只读属性 4) 工作方法通过输入参数,接收工作单位和职务,输出个人工作信息 5) 编写测试类,测试IT从业者类的对象及相关方法(测试数据信息自定义)
时间: 2023-11-27 21:03:56 浏览: 122
以下是IT从业者类的实现:
```python
class ITWorker:
def __init__(self, name, age=15, tech_direction=""):
self.__name = name
self.__age = age if age >= 15 else 15
self.__tech_direction = tech_direction
self.__work_years = 0
self.__work_unit = ""
self.__position = ""
def get_name(self):
return self.__name
def set_name(self, name):
self.__name = name
def get_age(self):
return self.__age
def set_age(self, age):
if age >= 15:
self.__age = age
else:
print("年龄无效,应该大于等于15岁")
def get_tech_direction(self):
return self.__tech_direction
def get_work_years(self):
return self.__work_years
def set_work_years(self, years):
self.__work_years = years
def get_work_unit(self):
return self.__work_unit
def set_work_unit(self, unit):
self.__work_unit = unit
def get_position(self):
return self.__position
def set_position(self, position):
self.__position = position
def work(self, unit, position):
self.__work_unit = unit
self.__position = position
print("我的名字是{},我在{}工作,职务是{}".format(self.__name, self.__work_unit, self.__position))
```
以下是测试代码:
```python
# 创建对象并设置属性
worker = ITWorker("张三", 20, "Python")
print(worker.get_name())
print(worker.get_age())
print(worker.get_tech_direction())
# 测试年龄无效的情况
worker.set_age(10)
print(worker.get_age())
# 测试只读属性
worker.set_tech_direction("Java")
# 测试工作方法
worker.work("ABC公司", "高级工程师")
```
阅读全文