首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Java -包含变量的抽象类?

Java -包含变量的抽象类?
EN

Stack Overflow用户
提问于 2008-10-25 10:37:35
回答 2查看 123.6K关注 0票数 30

让抽象类定义实例变量是一种好的做法吗?

代码语言:javascript
复制
public abstract class ExternalScript extends Script {

    String source;

    public abstract void setSource(String file);

    public abstract String getSource();
}

然后,子类ExternalJavaScript.class会自动获取源变量,但我觉得如果所有子类自己定义源变量,而不是继承定义源变量,那么阅读代码会更容易。

你的建议是什么?

/Adam

EN

回答 2

Stack Overflow用户

发布于 2008-10-25 10:40:47

当然可以..为什么不行?

抽象基类只是为了提高存储和维护效率,在一个地方存放两个或多个类共有的行为和数据的便利。这是一个实现细节。

但是,要注意不要在本应使用接口的地方使用抽象基类。请参阅Interface vs Base class

票数 9
EN

Stack Overflow用户

发布于 2008-10-25 11:49:29

当然了。抽象类的整体思想是,它们可以包含您需要所有子类包含的一些行为或数据。想一想WheeledVehicle的简单示例-它应该有一个numWheels成员变量。你希望所有的子类都有这个变量。请记住,在开发API时,抽象类是一个非常有用的功能,因为它们可以确保扩展API的人不会破坏它。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/236211

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档