因此,我正在建设一个电影租用系统,并得出结论,我想有一个类别的电影(有特定的电影数据存储)和另一个类别,将有对象,以扩展特定的电影(例如,星球大战:新希望的副本),每一个具有自己独特的ID。
如何设置类,以便复制对象继承每个唯一电影的信息?(通过我的电影类来扩展我的movieCopy类是否能实现我想要做的事情?因为我认为这只会扩展电影类的变量,而不是电影类中每个对象的特定属性。
如有任何沟通错误,敬请见谅。如果你需要我澄清什么,请随便问。
我正在努力实现的结构:
电影(班)
MovieCopy(类)
MovieCopy <-特定电影的属性在电影的每个副本中被继承
发布于 2015-08-11 03:21:50
你的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;
}
...
}编辑--你可以像这样填充你的电影集:
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);因此,你有三份相同的电影。
发布于 2015-08-11 03:28:52
在您的情况下,继承并不非常合适。您要做的是创建对象。您甚至不需要一个MovieCopy类。您可以在电影对象中存储每个电影的具体细节。
让我们假设您的电影类有一个name和一个durationInMinutes字段,而且它们都有getter和setter。如果您想要创建一个新的电影副本,可以这样做:
Movie movie = new Movie ();
movie.setName("Star Wars");
movie.setDurationInMinutes (150);然后你可以用变量名来指星球大战-- movie。
您可能在您的Movie类中有其他字段,但是您了解这个概念,对吗?
让我告诉你什么时候使用继承:如果你有一种电影,它有一些普通电影没有的属性,我不能给你举一个例子,因为只有一种电影。
https://stackoverflow.com/questions/31932564
复制相似问题