我必须创建一个课程管理系统,其中包括课程类别:
Cooking, sewing and writing courses
Run Code Online (Sandbox Code Playgroud)
cooking并且writing各有2个疗程(意大利,海鲜,创意写入和商业写).这会创建派生的抽象:
abstract course -> abstract cooking -> concrete seafood
Run Code Online (Sandbox Code Playgroud)
抽象的烹饪和写作有共同的领域和一些常用的方法,但是它们也有抽象的方法在基类中是抽象的.
这可以用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, …Run Code Online (Sandbox Code Playgroud)