我想在C#中创建一个抽象类。目前,我在C#中有这个课程:
public class CreditReportViewModel
{
public Person Person { get; set; }
public DateTime ReportDate { get; set; }
public string PersonalAddress { get; set; }
public string EmployerAddress { get; set; }
}
我想让它成为抽象类,其他两个类将继承它。我是否只需要在类中放置abstract关键字以便更改属性。那将继承这个类的类怎么样?这些课程需要改变什么?
请建议。
答案 0 :(得分:5)
您需要做的就是将课程标记为abstract
:
public abstract class CreditReportViewModel
{
public Person Person { get; set; }
public DateTime ReportDate { get; set; }
public string PersonalAddress { get; set; }
public string EmployerAddress { get; set; }
}
答案 1 :(得分:4)
制作课程abstract
所需的唯一方法是添加关键字:
public abstract class CreditReportViewModel
{
public Person Person { get; set; }
public DateTime ReportDate { get; set; }
public string PersonalAddress { get; set; }
public string EmployerAddress { get; set; }
}
在这种情况下,实现类不需要添加任何其他实现:
class Derived : CreditReportViewModel { }
如果你想成为会员abstract
,同样的事情就在那里:
public abstract class CreditReportViewModel
{
public Person Person { get; set; }
public DateTime ReportDate { get; set; }
public string PersonalAddress { get; set; }
public string EmployerAddress { get; set; }
public abstract float MakeSomeCalculation();
}
public class Derived : CreditReportViewModel
{
public override float MakeSomeCalculation()
{
// This method must be implemented in the derived class
}
}
典型的情况是abstract
基类公开了一些需要由派生类实现的abstract
成员。
答案 2 :(得分:2)
这取决于你想要的课程。通常,将抽象关键字放在类级别上就足够了。如果你想要抽象属性,你也必须将它们标记为抽象。
只要将类标记为抽象类,派生类就不需要任何更改。使用抽象属性,可以强制派生类实现这些属性。
答案 3 :(得分:1)
是的,你需要放置像
这样的抽象关键字public abstract class CreditReportViewModel
{
public Person Person { get; set; }
public DateTime ReportDate { get; set; }
public string PersonalAddress { get; set; }
public string EmployerAddress { get; set; }
}
但我不认为任何有效理由你应该使上述类抽象化。