我想写一家披萨店,你可以在那里订披萨和意大利面.这张图显示了我对建模的 idea ,但我不知道如何实现菜和披萨/意大利面之间的关系.对此有什么建议或什么建议吗?

entity-relationship-modell

推荐答案

正如Kayaman所说,Dish将是一个抽象的类:

public abstract class Dish {
    private Long id;
    private String name;
    private Double price;
    
    //Getters & Setters
}

请注意,我添加了id属性,因为我同意Vled:

看起来非常好,我也会 for each 菜肴添加ID,例如,如果客户想要报告他吃的特定菜肴.

因此,PizzaPasta将扩展它:

Pizza

public class Pizza extends Dish {
    private Topping toppings;
    private Sauce sauce;
    private Size size;

    public enum Topping {
        // Topping options
    }

    public enum Sauce {
        // Sauce options
    }

    public enum Size {
        // Size options
    }
}

Pasta

public class Pasta extends Dish {
    private Topping toppings;
    private Sauce sauce;
    private Type type;

    public enum Topping {
        // Topping options
    }

    public enum Sauce {
        // Sauce options
    }

    public enum Type {
        // Type options
    }
}

我将属性作为枚举,因为它们将是options,这将构成Dish.

Java相关问答推荐

更新我们的一个文物后出现了严重的符号引用错误

Java应用程序崩溃时试图读取联系人从电话

查找最大子数组的和

空手道比赛条件

使用Java Streams API比较两个不同的Java集合对象和一个公共属性

Java模式匹配记录

无法处理批处理侦听器中的反序列化异常

JVM会优化这个数学运算吗?

名称冲突具有相同的擦除

对Java中的通配符参数的混淆

在学习Spring时,通过构造函数参数0表达了不满意的依赖关系

Android Java:已设置但未读取SharedPreferences

Domino中不同的java.Protocol.handler.pkgs设置在XPages Java中导致错误

FETCH类型设置为LAZY,但它仍会发送第二个请求

try 使用预准备语句占位符获取信息时出现Try-With-Resources错误

有没有办法在o(log(N))中以系统的方式将数组中的小块元素复制和移动到新增长的数组中的左侧?

在应用getCellFormula()时,Excel引用中的文件名始终为";[1]";使用Apache POI()

如何在字节数组中反转UTF-8编码?

JOOQ:批处理CRUD操作使用动态表定义,如何?

睡眠在 Spring Boot 中