练习2:面向对象

以面向对象的思想,编写自定义类描述 IT practitioner。设定属性包括:姓名,年龄, 技术方向,

工作年限, 工作单位和职务;方法包括:工作

要求:

1) 设置属性的私有访问权限,通过公有的 get,set 方法实现对属性的访问

2) 限定 IT 从业人员必须年满 15 岁,无效信息需提示,并设置默认年龄为 15。

3) 限定“技术方向”是只读属性(只提供 get 方法)

4) 工作方法通过输入参数,接收工作单位和职务,输出个人工作信息

编写测试类,测试 IT 从业者类的对象及相关方法(测试数据信息自定义)



class ItPractitioner:
    def __init__(self, name, age, ted, workexper, enterprise, employe):
        self._name = name
        self.set_age(age)  # 因为要判断,所以不直接赋值
        self._ted = ted
        self._workexper = workexper
        self._enterprise = enterprise
        self._employe = employe

    def get_name(self):
        return self._name

    def set_name(self, name):
        self.name = name

    def get_age(self):
        return self._name

    def set_age(self, age):
        if age < 15:
            print('年龄信息无效!已修改默认年龄为15')
            self._age=age
        else:
            self._age = age


    def get_ted(self):
        return self._ted

   

    def get_workexper(self):
        return self._workexper

    def set_workexper(self, workexper):
        self.workexper = workexper

    def get_enterprise(self):
        return self._enterprise

    def set_enterprise(self, enterprise):
        self.enterprise = enterprise

    def get_employe(self):
        return self._employe

    def set_employe(self, employe):
        self.employe = employe

    def job(self):
        print(f'姓名:{self._name}')
        print(f'年龄:{self._age}')
        print(f'技术方向:{self._ted}')
        print(f'工作年限:{self._workexper}')
        print(f'目前就职于:{self._enterprise}')
        print(f'职务是:{self._employe}')

if __name__ == '__main__':
    people1 = ItPractitioner('马未龙', 35, '数据库维护', 10, '腾讯实业', '数据库维护工程师')
    people1.job()
    print('='*40)
    people2=ItPractitioner('张凯',10,'Java开发',1,'鼎盛科技','Java开发工程师')
    people2.job()

posted on 2024-01-17 20:39  合肥彭于晏  阅读(6)  评论(0编辑  收藏  举报

导航