一、 单选题
1.Python保留字( )开始了类定义。
A.def B.class C.object D.init
2.下列选项中,( )不是面向对象程序设计的基本特征。
A.可维护 B.继承 C.多态 D.封装
3.下列说法中不正确的是( )。
A.类是对象的模板,而对象是类的实例
B.实例属性名如果以_ _ 开头,就变成了一个私有变量
C.只有在类的内部才能访问类的私有变量,外部不能访问
D.在Python中,一个子类只能有一个父类
4.在方法定义中,访问实例属性x的格式是( )。
A.x B.self.x
C.self[x] D.self.getx ()
5.在Python的类定义中,对类对象的访问形式为( )。
A.<对象>.<变量> B.<对象>.方法(变量)
C.<类名>.<变量> D.<类名>.方法(变量)
6.描述对象静态特性的数据元素为( )。
A.方法 B.类型 C.属性 D.消息
7.下面说法中错误的是( )。
A.面向对象的三大属性:封装、多态和继承
B.Python不是面向对象的
C.一般来说,面向对象是一种编程方式,此编程方式的实现是基于类和对象的使用
D.类是抽象的模板,实例是根据模板创建出来的具体“对象”
8.下面说法中错误的是( )。
A.在类中可以根据需要定义一些方法,方法的定义一般采用关键字def
B.在类中定义的方法可以没有参数
C.类是现实世界中一些事物的封装
D.定义类的关键字是class
9.在类中,具有四个形式参数的方法通常在调用时有( )个实际参数。
A.3 B.4 C.5 D.不确定
10.定义一个类的“私有”方法,Python的惯例是使用( )开始方法的名称。
A."private" B.两根下划线(_ _ )
C.井号(#) D.减号(-)
11.将细节隐藏在类定义中,术语称为( )。
A.虚函数 B.子类化
C.继承 D.封装
12.Python让方法和类变量不能从外部访问的方式是( )。(www.xing528.com)
A.方法和变量名全部大写
B.方法和变量名前加单下划线
C.方法和变量名前加下划线
D.方法和变量名前加<
二、 判断题
1.创建对象是通过构造方法完成的。( )
2.位于对象中的方法称为实例变量。( )
3.一个对象可能只有一个实例变量。( )
4.在Python类中,构造方法的名称是_ _init_ _ 。( )
5.从类定义之外直接访问实例变量是不好的程序设计风格。( )
6.Python中一切内容都可称为对象。( )
7.父类从子类继承方法。( )
8.在面向对象程序设计中,函数和方法是完全一样的,都必须为所有参数进行传值。( )
9.定义类时,在一个方法前面使用@classmethod进行修饰,则该方法属于类方法。( )
10.定义类时,在一个方法前面使用@staticmethod进行修饰,则该方法属于静态方法。( )
三、 填空题
1.Python使用________关键字来定义类。
2.类的定义如下:
该类的类名为_________,其中定义了_________属性和_________属性,它们都是属性。如果在属性名前加两根下划线(_ _ ),则属画是_________属性。将该类实例化创建对象p,使用语句为_________,通过p来访问属性,格式为_________、___________。
3.创建对象后,可以使用________运算符来调用其成员。
4.可以从现有的类来定义新的类,这称为类的_________,新的类称为_________,而原来的类称为_________、父类或超类。
5.Python类的构造方法是_________,它在_________对象时被调用,可以用来进行一些属性_________操作。类的析构方法是_________,它在_________对象时调用,可以进行一些释放资源的操作。
6.如果在设计一个类时实现了_ _contains_ _ ()方法,那么该类的对象会自动支持_________运算符。
7.下列程序的运行结果为________:
8.下列程序的运行结果为________:
四、 编程题
1.定义一个Circle类,根据圆的半径求周长和面积。再由Circle类创建两个圆对象,其半径分别为5和10,要求输出各自的周长和面积。
2.定义一个类Input/Output。类中至少包括两个方法,一个是getString,用来接受命令行窗口输入的字符串;另一个是printString,将字符串以全部字母大写的形式打印到屏幕。
3.定义一个change类,用来实现角度和弧度之间的转换。
4.设计一个类,名字为QE,QE类是用来计算二元一次方程ax2+bx+c=0的平方根。这个类包括:
(1)私有变量a、b和c表示三个系数;
(2)以a、b和c为参数的构造方法;
(3)a、b和c各自的get()方法;
(4)名为detD ()的方法返回判别式,即:b2-4ac;
(5)名为getRoot1 ()和getRoot2 ()的方法分别计算方程式的两个根。这些方法只能在判别式b2-4ac非负时才有用,判别式为负时,则这些方法返回0。
编写这个类。同时编写一个测试程序提示用于输入a、b和c的值,然后显示基于这个判别式的结果。如果判别式为正,显示两个根;如果判别式为0,显示一个根;否则,显示“该方程式无根”。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。