练习题2
以面向对象的思想,编写自定义类描述 IT 从业者。设定属性包括:姓名,年龄, 技术方向,工作年限, 工作单位和职务;方法包括:工作
要求:
1) 设置属性的私有访问权限,通过公有的 get,set 方法实现对属性的访问
2) 限定 IT 从业人员必须年满 15 岁,无效信息需提示,并设置默认年龄为 15。
3) 限定“技术方向”是只读属性(只提供 get 方法)
4) 工作方法通过输入参数,接收工作单位和职务,输出个人工作信息
编写测试类,测试 IT 从业者类的对象及相关方法(测试数据信息自定义)
class ItWorker:
def init(self, name, age, td, years, unit, job):
self.__name = name
self.set_age(age)
self.__td = td
self.__years = years
self.__unit = unit
self.__job = job
def set_name(self, name):
self.__name = name
def get_name(self):
return self.__name
def set_age(self, age):
if age < 15:
print('年龄信息无效!已修改默认年龄为15')
self.__age = 15
else:
self.__age = age
def get_age(self):
return self.__age
def get_td(self):
return self.__td
def set_years(self, years):
self.__years = years
def get_years(self):
return self.__years
def set_unit(self, unit):
self.__unit = unit
def get_unit(self):
return self.__unit
def set_job(self, job):
self.__job = job
def get_job(self):
return self.__job
def work(self):
print(f'姓名:{self.__name}')
print(f'年龄:{self.__age}')
print(f'技术方向:{self.__td}')
print(f'工作年限:{self.__years}')
print(f'目前就职于:{self.__unit}')
print(f'职务是:{self.__job}')
if name == 'main':
# name, age, td, years, unit, job
it_worker1 = ItWorker('马未龙', 35, '数据库维护', 10, '腾讯实业', '数据库维护工程师')
it_worker1.work()
print('=====================================')
it_worker2 = ItWorker('张凯', 12, 'Java开发', 1, '鼎胜科技', 'Java开发工程师')
it_worker2.work()