《Python程序设计基础项目化教程习题项目九继承与多态.docx》由会员分享,可在线阅读,更多相关《Python程序设计基础项目化教程习题项目九继承与多态.docx(5页珍藏版)》请在三一办公上搜索。
1、继承与多态测试习题测试习题一、填空题1 .通过,可以基于已有类创建新的类,新类除了继承已有类的所有属性和方法,还可以根据需要增加新的属性和方法。2 .通过,可以使得在执行同一条语句时,能够根据实际使用的对象类型决定调用哪个方法。3 .如果T类Cl通过继承已有类C而创建,贝I将Cl称作,将C称做基类、父类或超类。4 .如果一个子类只有一个父类,则将这种继承关系称为;如果一个子类有两个或更多父类,则将这种继承关系称为O5 .是指子类可以对从父类中继承过来的方法进行重新定义,从而使得子类对象可以表现出与父类对象不同的行为。6 .内置函数用于判断一个对象所属的类是否是指定类或指定类的子类。7 .内置函
2、数用于判断一个类是否是另一个类的子类。8 .内置函数用于获取一个对象所属的类。二、选择题1 .关于SUPer方法的说法说法错误的是()A. SUPer方法用于获取父类的代理对象,以执行已在子类中被重写的父类方法B. SUPer方法有两个参数:第一个参数是要获取父类代理对象的类名。C.在一个类A的定义中调用super方法时,可以将两个参数都省略,此时,SUPer()等价于super(Azself)D.第二个参数必须传入对象名,该对象所属的类必须是第一个参数指定的类或该类的子类,找到的父类对象的Self会绑定到这个对象上2 .下图类的继承关系中,说法错误的是()A. Student类和Teache
3、r类都是Person类的子类B. Person类是其他3个类的父类C. Student类是Person类的子类,又是TA类的父类D. TA类有两个父类,这种关系称为多重继承三、简答题1 .写出下面程序的输出结果。classPerson:def_Jnit_(SeIfname):self.name=namedefDisplay(self):print(self.name)classStudent(Person):def_init_(SeIfSnO,name):super()._init_(name)self.sno=snodefDisplay(self):super(Student,self).D
4、isplay()print(self.sno)if_name_=_main_:Per=PerSonC张三)per.Display()StU=StUdent(78,李四)stu.Display()2 .写出下面程序的输出结果。classPerson:passclassStudent(Person):passif_name_=_main_:per=Person()Stu=StudentOprint(wstu所属类是Person类的子类,isinstance(stu,Person)print(nStudent类是Person类的子类,issubdass(Student,Person)print(per所属类是Studnet类的子类,isinstance(per,StUdent)PrintCPerson类是Student类的子类,issubdass(Person,Student)print(stu对象所属的类:,type(stu)Print(per对象所属的类:1,type(per)