内容发布更新时间 : 2025/6/23 3:18:40星期一 下面是文章的全部内容请认真阅读。
第6章 面向对象程序设计
6.1 继承6.5节例2中的Person类生成Student类,填写新的函数用来设置学生专业,然后生成该类对象并显示信息。
答:Python 3.4.2代码为
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 \ 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()
print(self.__major) if __name__ =='__main__':
zhangsan = Person('Zhang San', 19, 'man') zhangsan.show()
lisi = Student('Li Si',32, 'man', 'Math') lisi.show()
6.2 设计一个三维向量类,并实现向量的加法、减法以及向量与标量的乘法和除法运算。 答:Python 3.4.2代码如下 class Vecter3:
def __init__