首页 > 试题广场 >

1[问答] 继承6.5节例2中的Person类生成Stude

[问答题]
1[问答] 继承6.5节例2中的Person类生成Student类,填写新的函数用来设置学生专业,然后生成该类对象并显示信息。
import types
class Person(object): #基类必须继承于object,否则在派生类中将无法使用super()函数 def __init__(self, name = '', age = 20, sex = 'man'):
self.setName(name)
self.setAge(age)
self.setSex(sex)
def setName(self, name):
if not isinstance(name,str):
print('name must be string.')
return
self.__name = name
def setAge(self, age):
if not isinstance(age,int):
print('age must be integer.')
return
  self.__age = age
def setSex(self, sex):
if sex != 'man' and sex != 'woman':
print('sex must be "man" or "woman"')
return
  self.__sex = sex
def show(self):
print(self.__name)
print(self.__age)
print(self.__sex)
class Student(Person):
def __init__(self, name='', age = 30, sex = 'man', major = 'Computer'):
#调用基类构造方法初始化基类的私有数据成员
super(Student, self).__init__(name, age, sex)
self.setMajor(major) #初始化派生类的数据成员
def setMajor(self, major):
if not isinstance(major, str):
print('major must be a string.')
return
  self.__major = major
def show(self):
super(Student, self).show()

发表于 2019-07-16 08:41:06 回复(0)