c#4.0-c#中的抽象类
本文关键字:抽象类 0-c# c#4 | 更新日期: 2023-09-27 17:57:26
我想在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关键字放在类中就可以更改属性了吗。那些将继承这个类的类呢。这些课程中需要更改哪些内容?
请提出建议。
您所需要做的就是将类标记为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; }
}
创建类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
成员。
这取决于你希望类是什么。通常,在类级别上放置抽象关键字就足够了。如果你想拥有抽象属性,你也必须将它们标记为抽象属性。
派生类不需要任何更改,只要将唯一的类标记为抽象类即可。使用抽象属性可以强制派生类实现这些属性。
是的,您需要放置像这样的抽象关键字
public abstract class CreditReportViewModel
{
public Person Person { get; set; }
public DateTime ReportDate { get; set; }
public string PersonalAddress { get; set; }
public string EmployerAddress { get; set; }
}
但我不认为有任何的正当理由你应该把上面的类抽象化。