10.22

一. 单选题(共2题,28.5分)

  1. (单选题)软件工程的一个独特性是()的变迁。
    A. 分析到设计、从设计到程序
    B. 需求到设计、从设计到实现
    C. 编码到测试、从测试到上线
    D. 编码到测试、从测试到用户
    我的答案: B:需求到设计、从设计到实现;
  2. (单选题)抽象的目的是
    A. 获取全部实体属性
    B. 确定属性和行为的关系
    C. 通过把相关的属性和其他不相关的属性分开
    D. 完成类的设计
    我的答案: C:通过把相关的属性和其他不相关的属性分开;
    二. 多选题(共4题,57.2分)
  3. (多选题)Java中的数据类型包括
    A. 原子类型
    B. 结构类型
    C. 外部类型
    D. 内置类型
    我的答案: ABD:原子类型; 结构类型; 内置类型;
  4. (多选题)面向对象常用技术包括:
    A. 抽象
    B. 多态
    C. 封装
    D. 继承
    我的答案: ABCD:抽象; 多态; 封装; 继承;
  5. (多选题)Java中的访问权限包括:
    A. 包
    B. 公有
    C. 私有
    D. 保护
    我的答案: ABCD:包; 公有; 私有; 保护;
  6. (多选题)面向对象中常见的类关系包括:
    A. 关联
    B. 共享
    C. 继承
    D. 聚合
    我的答案: ACD:关联; 继承; 聚合;
    三. 简答题(共1题,14.3分)
  7. (简答题)请根据面向对象的设计思想,对加减法混合软件进行类的设计。请提交类的设计思路,包括:都需要哪些类,每个的属性和方法都包括哪些,给出类的源代码。
    我的答案:
    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));

}

}

posted @ 2024-10-18 14:21  aallofitisst  阅读(18)  评论(0)    收藏  举报