习题总结:
本文的习题继续面向对象编程的知识点,包括面向对象的三大特征,围绕类属性和实例属性,还有类的方法和静态方法。通过本章内容的学习复习,大家对面向对象应该会有比较深入的了解了。为以后的开发奠定好扎实的面向对象编程思想。如果有需要答案的小伙伴依旧是转发后评论获取。
一、选择题
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.instancemethodC.
staticmethodD.privatemethod7.下列方法中,不可以使用类名访问的是()。
A.实例方法B.类方法C.静态方法D.以上3项都不符合
二、判断题
Python中没有任何关键字区分公有属性和私有属性。()继承会在原有类的基础上产生新的类,这个新类就是父类。()带有两个下划线的方法一定是私有方法。()子类能继承父类的一切属性和方法。()子类通过重写继承的方法,覆盖掉跟父类同名的方法。()如果类属性和实例属性重名,对象有限访问类属性的值。()使用类名获取到的值一定是类属性的值。()静态方法中一定不能访问实例属性的值。()三、填空题
如果属性名的前面加上了两个_______,就表明它是私有属性。在现有类基础上构建新类,新的类称作子类,现有的类称作____________。父类的_______属性和方法是不能被子类继承的,更不能被子类访问。Python语言既支持单继承,也支持___________继承。子类想按照自己的方式实现方法,需要_______从父类继承的方法。子类通过__________可以成功地访问父类的成员。位于类内部、方法外部的方法是__________方法。类方法是类拥有的方法,使用修饰器______来标识。四、简答题
请简述如何保护类的属性。什么是继承?请简述私有属性无法访问的原理。什么是多态?请简述实例方法、类方法和静态方法的区别。请简述Python中以下下划线开头的变量名的特点。五、编程题
设计一个表示动物的类:Animal,其中内部有一个color(颜色)属性和call(叫)方法。再设计一个Fish(鱼)类,该类中有tail(尾巴)和color属性,以及一个call(叫)方法。
提示:让Fish类继承自Animal类,重写init和call方法。
获取本文习题答案可以