让抽象类定义实例变量是一种好的做法吗?
public abstract class ExternalScript extends Script {
String source;
public abstract void setSource(String file);
public abstract String getSource();
}
然后,子类ExternalJavaScript.class会自动获取源变量,但我觉得如果所有子类自己定义源变量,而不是继承定义源变量,那么阅读代码会更容易。
你的建议是什么?
/Adam
发布于 2008-10-25 10:40:47
当然可以..为什么不行?
抽象基类只是为了提高存储和维护效率,在一个地方存放两个或多个类共有的行为和数据的便利。这是一个实现细节。
但是,要注意不要在本应使用接口的地方使用抽象基类。请参阅Interface vs Base class
发布于 2008-10-25 11:49:29
当然了。抽象类的整体思想是,它们可以包含您需要所有子类包含的一些行为或数据。想一想WheeledVehicle的简单示例-它应该有一个numWheels成员变量。你希望所有的子类都有这个变量。请记住,在开发API时,抽象类是一个非常有用的功能,因为它们可以确保扩展API的人不会破坏它。
https://stackoverflow.com/questions/236211
复制相似问题