Java对象扩展

Ash*_*and 2 java inheritance object

因此,我正在建立一个电影招聘系统,并得出结论,我想要一类电影(其中存储了特定的电影数据),然后是另一个具有扩展特定电影的对象的类(例如,星球大战的副本:新希望)每个都有自己独特的ID.

如何设置我的类,以便复制对象继承每个独特影片的信息?(通过我的电影课扩展我的movieCopy课程实现了我想要做的事情吗?因为我认为这只会扩展电影类的变量,而不是电影类的每个对象的特定属性.

提前抱歉,如有任何通讯错误.请随时询问您是否需要我澄清一些事情.

我想要实现的结构:
电影(类​​)
MovieCopy(类)
MovieCopy < - 特定电影的属性在电影的每个副本中继承

Car*_*ten 5

您的MovieCopy类(DVD,Bluray,...)可能只包含一个存储相关Movie实例的成员变量(具有标题,描述的实际电影......).这样您就可以访问所有元数据,而不会有任何笨拙的继承.

class Movie {
    private long id;
    private String title;
    private LocalDate release;
    private String contentDescription;

    Movie(long id, String title) {
        this.id = id;
        this.title = title;
    }
    ...
}

class MovieCopy {
    private long copyId;
    private Movie movie;
    private LocalDate lastHired;
    private LocalDate latestReturn;

    MovieCopy(long id, Movie movie) {
        this.copyId = id;
        this.move = movie;
    }
    ...
}
Run Code Online (Sandbox Code Playgroud)

编辑 - 您将填充您的电影集合,如下所示:

Movie starWars4 = new Movie(1, "Star Wars 4");
MovieCopy starWarsDvd1 = new MovieCopy(1, starWars4);
MovieCopy starWarsDvd2 = new MovieCopy(2, starWars4);
MovieCopy starWarsDvd3 = new MovieCopy(3, starWars4);
Run Code Online (Sandbox Code Playgroud)

因此,您有三个相同的电影副本.