非抽象クラスから抽象クラスを派生させても大丈夫ですか、それともこのアプローチに何か問題がありますか?
ここにちょっとした例があります:
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 は Task から機能を継承し、いくつかの追加メンバーを追加する必要がありますが、直接インスタンス化したくありません。PeriodicalTask の派生クラスのみをインスタンス化する必要があります。