Java 我需要在两个类中使用一个方法。哪种方法是好的做法?公开方法还是静态方法还是复制方法
我有两个适配器类,它们在同一个包中,我需要以下方法Java 我需要在两个类中使用一个方法。哪种方法是好的做法?公开方法还是静态方法还是复制方法,java,oop,Java,Oop,我有两个适配器类,它们在同一个包中,我需要以下方法 private int getAlphaValue(int backgroundTransparency) { int backgroundOpaquePercentage = 100 - backgroundTransparency; int alpha= (255 * backgroundOpaquePercentage) / 100; return alpha; } 在每个类中都有一个此方法的副本,并将其设置为私
private int getAlphaValue(int backgroundTransparency) {
int backgroundOpaquePercentage = 100 - backgroundTransparency;
int alpha= (255 * backgroundOpaquePercentage) / 100;
return alpha;
}
以上两种方法中哪一种是好的做法和有效的做法?永远不要复制!这就是为什么我们现在使用面向对象编程来避免代码重复
只需将此方法公开/保护。创建一个新的
GraphicsUtil
类,并在其中添加静态
等实用方法。这样的util方法不属于任何一个类,通过静态/全局上下文使应用程序全局可用更有意义
所有其他图形类都将使用它作为
int alpha = GraphicsUtil.getAlphaValue(50);
你应该提供更多关于这两门课的信息。 看看这个方法,它应该是静态的,因为它不使用实例变量。
因此,您不必让它重复。步骤1:创建第三个类 第二步:写下这个方法
步骤3:在类中,使用新创建的类的对象引用调用该方法,第一种方法是反模式。如果您的方法中有一个bug,则必须修复两次。
第二种方法更好,但我会选择第三种方法:
让两个类从同一基类继承,并在该类中使用方法。没有必要让它受到保护 在某些Utils类中将其声明为静态,并从每个类访问它。