黑马程序员Python封装继承和多态以

白癜风诊疗指南 http://disease.39.net/bjzkbdfyy/180102/5972960.html

习题总结:

本文的习题继续面向对象编程的知识点,包括面向对象的三大特征,围绕类属性和实例属性,还有类的方法和静态方法。通过本章内容的学习复习,大家对面向对象应该会有比较深入的了解了。为以后的开发奠定好扎实的面向对象编程思想。如果有需要答案的小伙伴依旧是转发后评论获取。

一、选择题

Python中定义私有属性的方法是()。A.使用private关键字B.使用public关键字

C.使用__XX__定义属性名D.使用__XX定义属性名

2.下列选项中,不属于面向对象程序设计的三个特征的是()。

A.抽象B.封装C.继承D.多态

3.以下C类继承A类和B类的格式中,正确的是()。

A.classCA,B:B.classC(A:B)C.classC(A,B)D.classCAandB:

4.下列选项中,与classPerson等价的是()。

A.classPerson(Object)B.classPerson(Animal)

C.classPerson(object)D.classPerson:object

5.下列关于类属性和示例属性的说法,描述正确的是()。

A.类属性既可以显示定义,又能在方法中定义

B.公有类属性可以通过类和类的实例访问

C.通过类可以获取实例属性的值

D.类的实例只能获取实例属性的值

6.下列选项中,用于标识为静态方法的是()。

A.

classmethoodB.

instancemethod

C.

staticmethodD.

privatemethod

7.下列方法中,不可以使用类名访问的是()。

A.实例方法B.类方法C.静态方法D.以上3项都不符合

二、判断题

Python中没有任何关键字区分公有属性和私有属性。()继承会在原有类的基础上产生新的类,这个新类就是父类。()带有两个下划线的方法一定是私有方法。()子类能继承父类的一切属性和方法。()子类通过重写继承的方法,覆盖掉跟父类同名的方法。()如果类属性和实例属性重名,对象有限访问类属性的值。()使用类名获取到的值一定是类属性的值。()静态方法中一定不能访问实例属性的值。()三、填空题

如果属性名的前面加上了两个_______,就表明它是私有属性。在现有类基础上构建新类,新的类称作子类,现有的类称作____________。父类的_______属性和方法是不能被子类继承的,更不能被子类访问。Python语言既支持单继承,也支持___________继承。子类想按照自己的方式实现方法,需要_______从父类继承的方法。子类通过__________可以成功地访问父类的成员。位于类内部、方法外部的方法是__________方法。类方法是类拥有的方法,使用修饰器______来标识。四、简答题

请简述如何保护类的属性。什么是继承?请简述私有属性无法访问的原理。什么是多态?请简述实例方法、类方法和静态方法的区别。请简述Python中以下下划线开头的变量名的特点。五、编程题

设计一个表示动物的类:Animal,其中内部有一个color(颜色)属性和call(叫)方法。再设计一个Fish(鱼)类,该类中有tail(尾巴)和color属性,以及一个call(叫)方法。

提示:让Fish类继承自Animal类,重写init和call方法。

获取本文习题答案可以


转载请注明:http://www.aierlanlan.com/tzrz/718.html