【发布时间】:2018-05-26 04:47:25
【问题描述】:
是否可以引用(如果这就是它正在做的事情)一个类对象,例如: private SomeClass someclass;如下图?它工作正常,但它会破坏封装吗?书是阅读的孩子,阅读是内容的孩子。
另外,这样做好吗? ((游戏) c.getValue()).returnNameAndOs()); OS 类对象位于 Game 类对象中。
我只关心做事是否正确,或者做得更好。
public abstract class Content {
Private List<Comment> Review = new ArrayList<Comment>();
private Reading reading; // is this bad practice
private Book book;
private String ID;
private String Application_Name;
private int No_of_Downloads = 0;
private double Price = 0;
// overridden
public Content(String iD, String application_Name, double price) {
super();
ID = iD;
Application_Name = application_Name;
Price = price;
}
// overridden
public Content(String iD, String application_Name) {
super();
ID = iD;
Application_Name = application_Name;
}
public void addReviews(Comment a) {
this.Review.add(a);
System.out.println(a.getusrname()+" added review on
"+this.getApplication_Name()+": "+a.getUsrComment());
}
// etc...
}
【问题讨论】:
-
聚合和组合是关联的形式。在您的情况下,您正在参考另一个类是组合。封装表示您应该将字段和相关方法保留在同一个类中。但是你可以在其他类中调用这些方法。
标签: java reference parent-child accessor