私はコースのカテゴリにコース管理システムを作成する必要があります。複数の抽象クラスを派生しましたか?
Cooking, sewing and writing courses
cooking
とwriting
それぞれが2コース(イタリア語、シーフード、創作の書き込みやビジネスの書き込みを)持っています。
abstract course -> abstract cooking -> concrete seafood
抽象的な料理と執筆には共通のフィールドといくつかの一般的なメソッドがありますが、基本クラスの抽象メソッドもあります。
これはC#で行うことができますか?抽象クラスの抽象メソッドを抽象化すると、Visual Studioでは基本クラス抽象を隠してから、具体クラスメソッドには基本クラスが抽象クラスでなければならないというエラーがあります。私は答えを探しました。私は単一の継承がC#で使用されていることを知っていますが、継承はチェーンを運びます。最高の答えは何ですか?ここで
は、コードスニペットである - 私はそれが問題を明確に願っています:
public abstract class Course
{
public abstract void AddStudent(StudentName sn, int f);
public abstract decimal CalculateIncome();
}
public abstract class WritingCourse : Course
{
public void AddStudent(StudentName sn, int f)
{
//Add student
}
public abstract decimal CalculateIncome(); // can only be claculated in concrete
}
public class BusinessWritCourse : WritingCourse
{
public void AddStudent(StudentName sn, int f):
base(sn, false){}
public decimal CalculateIncome()
{
return //do stuff
}
}
public class SewingCourse : Course
{
public override void AddStudent(StudentName sn, int f)
{
//do stuff
}
public override decimal CalculateIncome()
{
return //do stuff
}
}
は、あなたが直面している問題にサンプルコードを投稿することができますか? –