【问题标题】:From UML class diagram to Java : class hierarchy choices从 UML 类图到 Java:类层次结构选择
【发布时间】:2015-11-02 13:10:50
【问题描述】:

我正在尝试在 Java 中实现这一点,但遇到了一些接口/继承问题。我对 OO 概念很陌生,所以这可能是架构选择/概念误解。如果缺少某些信息,请告诉我,我会尽量让自己更清楚。

交换机可以是 OSIL 2 或 3 设备,所以我假设我需要继承接口,因为一个只能同时拥有超类,对吗? 问题:我不能让 Node 成为一个接口,因为我需要它的属性,如果它不是一个接口,OSIL3Equipement(作为一个接口)就不能从它继承。 问题:我如何在 Java 中对此进行建模(也就是我的类层次结构中的错误在哪里?) (斜体写的类名表示它的抽象,可能是一种约定,但我更愿意指出)

【问题讨论】:

    标签: java inheritance class-hierarchy


    【解决方案1】:

    所以问题的一部分是交换机试图同时做两件不同的事情。可以分别建模吗? OSIL 2 开关和 OSIL3 开关。 (可能使用 switch 作为接口,两者都在其 OSIL 设备基类之上实现)

    如果它需要是单个对象,可以通过将其中一个抽象类转换为接口并让它的每个实现定义自己的数据结构来解决 java 缺乏多重继承的问题。即:OSIL2Equipment 是一个带有 getARPTable() 或 doARPTableLookup() 的接口方法,Switch 类只会将其定义为私有字段。

    【讨论】:

    • 带有开关接口的单独建模听起来像是纸上的优雅解决方案,并且在我的实现中有效。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多