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