定义一个表示普通人信息的类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类的对象,访问各个属性信息,并输出显示。
Python期末考试sos
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
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))
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥20 测距传感器数据手册i2c
- ¥15 RPA正常跑,cmd输入cookies跑不出来
- ¥15 求帮我调试一下freefem代码
- ¥15 matlab代码解决,怎么运行
- ¥15 R语言Rstudio突然无法启动
- ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
- ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
- ¥15 用windows做服务的同志有吗
- ¥60 求一个简单的网页(标签-安全|关键词-上传)
- ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法