面向对象与面向过程的比较
类与对象的关系
成员变量和局部变量
构造方法
this
构造代码块
局部代码块
匿名对象
一、 选择题
1.下列各项中关于面向对象及面向过程的说法错误的是:(BDE)
A. 面向对象要重点关注的是流程中的每一个步骤
B. 面向对象是基于面向过程的
C. 面向对象一定是优于面向过程的
D. 如果事务相对复杂,可以考虑使用面向对象的方式来完成
E. 面向对象和面向过程都是常见的思维方式
2.对于代码:
结果为: (C)
A. 编译不通过
B. 输出10 10
C. 输出10 20
D. 输出0 20
3.下列关于构造函数的说法正确的是:(ABE)
A. 每个类中都有至少一个构造方法
B. 一个类中可以有多个构造方法
C. 构造方法可以有返回值
D. 构造方法可以有多个参数
E. 可以通过new关键字调用一个类的构造方法创建该类对象
4.对于代码:
结果为:(c)
A. 编译出错
B. 输出10
C. 输出20
D. 输出40
E. 输出0
5.对于代码:
的输出结果为:(C)
A. 编译不通过
B. 输出A B C
C. 输出A C B
D. 输出C B A
6.对于代码:
输出结果为:(B)
A. 编译出错
B. 输出10 11
C. 输出10 10
D. 输出11 11
解析:
public static void changeInt(int value){ value++;// 没有return结果,所以结果是10 }
7.对于代码:
输出结果为:
A. 编译出错
B. 输出100 200
C. 输出100 100
D. 输出0 200
二、简答题
1.对应代码:
该程序能否编译通过?如果可以请写出运行结果;如果不可以请说明原因并修改。
2.对于代码:
请写出运行结果:
3.对于代码
这个程序能否编译通过?如果可以,输出结果是什么?如果不可以,则应该如何修改?
4.程序改错
三、编程题
1. 复数概念如下:
每个复数都有实部和虚部。
例如: 3 + 5i,3为实部,5i为虚部。
其中,i 称为虚数单位,有 i * i = -1。
两个复数进行加法运算,运算时实部与实部相加,虚部与虚部相加。
例如:
(1.5 – 3i) + (2.3 + 2.4i) = (1.5+2.3) + (-3 + 2.4)i = 3.8 – 0.6i
两个复数进行减法运算,与加法运算类似。
两个复数进行乘法运算,其过程如下:
(a+bi) * (c + di) = ac + adi + bci + bd(i*i) = (ac-bd) + (ad+bc)i
例如:
(3+5i) *(4+6i) = (3*4-5*6) +(3*6+4*5) i = -18 + 38i
写一个类Complex,用来表示复数。 这个复数类具有两个属性: double real,表示实部; double im,表示虚部。 并为Complex 类增加add、 sub、 mul 方法,分别表示复数的加法、减法和乘法运算。 其中, add 方法的声明如下: public Complex add(Complex c) //表示当前Complex 对象与参数c对象相加 public Complex add(double real) //表示当前 Complex 对象与实数 real相加