10.22
一. 单选题(共2题,28.5分)
- (单选题)软件工程的一个独特性是()的变迁。
A. 分析到设计、从设计到程序
B. 需求到设计、从设计到实现
C. 编码到测试、从测试到上线
D. 编码到测试、从测试到用户
我的答案: B:需求到设计、从设计到实现; - (单选题)抽象的目的是
A. 获取全部实体属性
B. 确定属性和行为的关系
C. 通过把相关的属性和其他不相关的属性分开
D. 完成类的设计
我的答案: C:通过把相关的属性和其他不相关的属性分开;
二. 多选题(共4题,57.2分) - (多选题)Java中的数据类型包括
A. 原子类型
B. 结构类型
C. 外部类型
D. 内置类型
我的答案: ABD:原子类型; 结构类型; 内置类型; - (多选题)面向对象常用技术包括:
A. 抽象
B. 多态
C. 封装
D. 继承
我的答案: ABCD:抽象; 多态; 封装; 继承; - (多选题)Java中的访问权限包括:
A. 包
B. 公有
C. 私有
D. 保护
我的答案: ABCD:包; 公有; 私有; 保护; - (多选题)面向对象中常见的类关系包括:
A. 关联
B. 共享
C. 继承
D. 聚合
我的答案: ACD:关联; 继承; 聚合;
三. 简答题(共1题,14.3分) - (简答题)请根据面向对象的设计思想,对加减法混合软件进行类的设计。请提交类的设计思路,包括:都需要哪些类,每个的属性和方法都包括哪些,给出类的源代码。
我的答案:
Calculator类:负责加减法的主要逻辑。
Operation类:表示具体的操作(加法或减法)。
AddOperation和SubtractOperation类:分别继承自Operation类,具体实现加法和减法。
// 抽象操作类
abstract class Operation {
public abstract int execute(int num1, int num2);
}
// 加法操作类
class AddOperation extends Operation {
@Override
public int execute(int num1, int num2) {
return num1 + num2;
}
}
// 减法操作类
class SubtractOperation extends Operation {
@Override
public int execute(int num1, int num2) {
return num1 - num2;
}
}
// 计算器类
class Calculator {
private Operation operation;
public Calculator(Operation operation) {
this.operation = operation;
}
public int calculate(int num1, int num2) {
return operation.execute(num1, num2);
}
public void setOperation(Operation operation) {
this.operation = operation;
}
}
// 使用示例
public class Main {
public static void main(String[] args) {
Calculator calculator = new Calculator(new AddOperation());
System.out.println("加法结果: " + calculator.calculate(10, 5));
calculator.setOperation(new SubtractOperation());
System.out.println("减法结果: " + calculator.calculate(10, 5));
}
}
浙公网安备 33010602011771号