qiaoqiao___ 2021-12-17 14:40 采纳率: 100%
浏览 29
已结题

Python期末考试sos

定义一个表示普通人信息的类Person以及由其作为基类派生出来的子类Student,要求如下:
(1)类Person的成员变量: name 表示姓名; age 表示年龄; sex表示性别;
(2)类Person的成员方法: getName() :获得姓名; getAge( ):获得年龄; getSex0:获得性别; setName():给姓名重新赋值; setAgeO :给年龄重新赋值; setSexO:给性别重新赋值;
(3)由类Person派生出子类Student,它包含2个独有的属性-专业(major) 和学院(school); 4个独有的成员方法用于访问专业和学院属性,并对其重新赋值,分别是getMaior(),setMajor(),getSchool (), setSchool();
(4)创建1个Student类的对象,访问各个属性信息,并输出显示。

  • 写回答

1条回答 默认 最新

  • 禾糖月色 2021-12-17 17:20
    关注
    class Person(object):
    
        def __init__(self):
            self._name: str = ''
            self._age: int = 0
            self._sex: str = ''
    
        def get_name(self):
            return self._name
    
        def set_name(self, name):
            self._name = name
    
        name = property(fget=get_name, fset=set_name)
    
        def get_age(self):
            return self._age
    
        def set_age(self, age):
            if isinstance(age, int):
                self._age = age
            else:
                print('年龄格式不正确')
    
        age = property(fget=get_age, fset=set_age)
    
        def get_sex(self):
            return self._sex
    
        def set_sex(self, sex):
            self._sex = sex
    
        sex = property(fget=get_sex, fset=set_sex)
    
    
    class Student(Person):
        def __init__(self):
            super().__init__()
            self._major: str = ''
            self._school: str = ''
    
        def get_major(self):
            return self._major
    
        def set_major(self, major):
            self._major = major
    
        major = property(get_major, set_major)
    
        def get_school(self):
            return self._school
    
        def set_school(self, school):
            self._school = school
    
        school = property(get_school, set_school)
    
    
    if __name__ == '__main__':
        student = Student()
        student.name = 'Bob'
        student.age = 21
        student.sex = '男'
        student.major = '德语'
        student.school = '西方语言学院'
        print('学生{} 年龄{} 性别{} 专业{} 学院{} 已录入。'.format(student.name, student.age, student.sex,
                                                     student.major, student.school))
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月30日
  • 已采纳回答 12月22日
  • 创建了问题 12月17日

悬赏问题

  • ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
  • ¥15 用visualstudio2022创建vue项目后无法启动
  • ¥15 x趋于0时tanx-sinx极限可以拆开算吗
  • ¥500 把面具戴到人脸上,请大家贡献智慧
  • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
  • ¥15 各位 帮我看看如何写代码,打出来的图形要和如下图呈现的一样,急
  • ¥30 c#打开word开启修订并实时显示批注
  • ¥15 如何解决ldsc的这条报错/index error
  • ¥15 VS2022+WDK驱动开发环境
  • ¥30 关于#java#的问题,请各位专家解答!