例如我有实体类User
:
public class User
{
private long id;
private String name;
// setters and getters
}
接下来,我添加新的实体类:Comment
public class Comment
{
private long id;
private String comment;
// setters and getters
}
接下来,我可以添加越来越多的实体类。
而且,此时我想:我可以/必须在逻辑结构中绑定/连接我的实体类吗?
我的意思是说?我尝试解释一下:
第 1 点:所有此类:User
, Comment
以及更多其他 -POJO
.
想法1:需要通过接口或抽象类对此类进行逻辑绑定。
第 2 点:我明白了,所有实体类都有相同的方法:getId
and setId()
.
想法2:需要避免在所有类中声明此方法。
我的解决方案:
添加接口BaseEntity
:
public interface BaseEntity
{
public long getId();
public void setId(long id);
}
添加的所有实体类都必须实现这个接口。
结果我们逻辑连接了所有实体类。我们保证每个实体类都实现getId()
and setId()
方法。
但这个解决方案并不能解决多重声明的问题getId
and setId
.
解决方案是创建通用 BaseEntity 类:
public class BaseEntity
{
private long id;
public long getId() {return this.id};
public void setId(long id) {this.id = id;};
}
并且所有实体类都必须扩展BaseEntity类。
嗯嗯,听起来不错:)
但是,通过当前的实现 - 用户可以创建实例 BaseEntity 类。这有道理吗?我可以提供创建类 BaseEntity 的可能性吗?
或者也许,好的解决方案将此类标记为abstract
?
你怎么认为?
如果您同意我之前的所有步骤:
我还有最后一个问题:
类之间的通信必须基于接口。但我没有实体接口。这会给我将来带来麻烦吗?
谢谢。