将序列图转换为 Java 代码

我的老师布置了一个练习,其中包括(以最佳方式)将序列图翻译成 Java 代码。

这是时序图:

http://img2.mukewang.com/611e324a00014bf406830355.jpg

这是我解决这个问题的尝试:


import java.util.ArrayList;

import java.util.List;


class Seminar {

    private int getMark() {

        return calculateMark();

    }


    private int calculateMark() {

        return 10;

    }

}


class Student {

    private List<Seminar> _seminars = new ArrayList<>();


    public List<Seminar> getSeminars() {

        return _seminars;

    }

}


class TranscriptBuilder {

    public void New(Student student) {


    }

}

但我无法完成,TranscriptBuilder因为我找不到任何关于<<system>>它的内容及其含义。请问有什么建议吗?


跃然一笑
浏览 251回答 3
3回答

撒科打诨

这<<system>>是 UML 中的一种刻板印象:构造型定义了如何扩展现有元类,并允许使用平台或领域特定术语或符号来代替或补充用于扩展元类的术语或符号。我认为这里指的是核心系统,您需要在其中实现一种方法来打印Student信息。我建议您使用@Override该toString()方法,Student然后按照您的图表所示实施一个print()方法SharedServices。

有只小跳蛙

你的“系统”是一个演员刻板的“系统”。所有参与者都在您的系统定义之外。他们是与您的软件交互的人或其他软件系统。你不会实现打印机,你只会使用它的 API 来打印结果。

胡子哥哥

您错过了 TranscriptBuilder 构造函数的内容,尤其是参加研讨会和进行循环,如图所示。TranscriptBuilder(Student s) {&nbsp; &nbsp; List<Seminar> sems = s.getSeminars();&nbsp; &nbsp; for (Seminar sem : sems)&nbsp; &nbsp; &nbsp; &nbsp; sem.getMark();&nbsp;}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java