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关键字放在类中就可以更改属性了吗。那些将继承这个类的类呢。这些课程中需要更改哪些内容?

请提出建议。

c#4.0-c#中的抽象类

您所需要做的就是将类标记为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; }
}

但我不认为有任何的正当理由你应该把上面的类抽象化。