Ada*_*ham 24 java variables class abstract
让抽象类定义实例变量是一种好习惯吗?
public abstract class ExternalScript extends Script {
String source;
public abstract void setSource(String file);
public abstract String getSource();
}
Run Code Online (Sandbox Code Playgroud)
然后子类ExternalJavaScript.class将自动获取源变量,但是如果所有子类本身都定义了源代码而不是继承,我觉得读代码更容易.
你有什么建议?
/亚当
Egw*_*wor 32
我会认为这样的事情要好得多,因为你要添加一个变量,为什么不限制访问并使其更清晰呢?你的吸气剂/安装者应该按照他们对锡的说法做.
public abstract class ExternalScript extends Script {
private String source;
public void setSource(String file) {
source = file;
}
public String getSource() {
return source;
}
}
Run Code Online (Sandbox Code Playgroud)
回过头来回答这个问题,你是否曾经在阅读它时看看getter/setter代码的位置?如果他们都进行了设置,那么在阅读代码时你不需要担心函数的功能.还有一些其他原因需要考虑:
总是想想你的班级是否真的是一个不同的东西,这应该有助于决定你是否还需要其他东西.
当然..为什么不呢?
为了提高存储和维护效率,抽象基类只是为了容纳两个或多个类共同的容纳行为和数据的便利.它是一个实现细节.
但请注意,您没有使用应该使用接口的抽象基类.请参阅Interface vs Base类
| 归档时间: |
|
| 查看次数: |
98647 次 |
| 最近记录: |