首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从非抽象类派生抽象类

从非抽象类派生抽象类
EN

Stack Overflow用户
提问于 2010-04-09 03:12:56
回答 4查看 11.8K关注 0票数 43

从非抽象类派生抽象类可以吗?或者这种方法有问题吗?

下面是一个小例子:

代码语言:javascript
复制
public class Task {
  // Some Members
}

public abstract class PeriodicalTask : Task {
  // Represents a base class for task that has to be done periodicaly.
  // Some additional Members
}

public class DailyTask : PeriodicalTask {
  // Represents a Task that has to be done daily.
  // Some additional Members
}

public class WeeklyTask : PeriodicalTask {
  // Represents a Task that has to be done weekly.
  // Some additional Members
}

在上面的例子中,我不想让类Task抽象,因为我想直接实例化它。PeriodicalTask应该继承任务的功能并添加一些额外的成员,但我不想直接实例化它。只应实例化PeriodicalTask的派生类。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-04-09 03:16:59

我看不出这种方法有什么问题。

您可能有一些可以用具体术语描述的基本类型。现在,仅仅因为这种类型的对象可以根据某些子类型进一步分类,并不意味着所有这些子类型都是具体的;它们反过来可能需要进一步的具体化。

真实世界的例子:

Person -- 混凝土(非抽象)

Sibling: Person -- 抽象

Brother: Sibling -- concrete

Sister: Sibling -- concrete

票数 59
EN

Stack Overflow用户

发布于 2010-04-09 03:16:10

这没什么问题。

如果你看一下像WinForms这样的大层次结构,你会发现有几层抽象类型。

MSBuild任务也是一个很好的(更相关的)例子。

票数 18
EN

Stack Overflow用户

发布于 2010-04-09 03:18:21

这种事情经常发生:所有抽象类都继承自本身不是abstractSystem.Object类。

new System.Object()有时对锁定很有用,如果您周围没有其他任何东西,您可以锁定。

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

https://stackoverflow.com/questions/2602695

复制
相关文章

相似问题

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