我可以通过Java的接口强加'state‘吗?我正在构建一个简单的API,允许客户端注册“数据存储”、“数据集”和“数据元素”(数据库人员读取数据库、表和列),并让API提供者扩展基本API并为特定平台实现它。因此,MySQL提供者将有一个实现,一个oracle实现等等。
我正在考虑设置dataset接口和一个数据元素接口,其中包含我希望提供给客户的“行为”。然而,我有时注意到,我需要确保实现的特定状态。
就像-
当我想注册一个‘数据集’时,我想要确保‘数据存储’已经‘连接’;
我还希望确保“dataset”实例在未初始化“数据元素列表”的情况下永远不会返回给调用方。
有没有办法将此强加于那些实现我的接口的人?
发布于 2015-11-19 16:56:12
如果您使用的是Java 8,您可以实现默认方法并使它们成为最终方法(我认为呢?)以便对可能的状态集施加限制。
其他替代方法是使用抽象类或具有一个普通类,该类将接口的实现作为构造函数参数,并将其存储为私有变量。
https://stackoverflow.com/questions/33809733
复制相似问题