首页 > 解决方案 > 如何调用三个独立类的方法?

问题描述

标签: c#classobjectmethods

解决方案


您应该阅读一些关于面向对象的编程概念。

您所指的子类并不是真正的子类,而是嵌套类。要使UndergraduatePostgraduateclasses 成为 的子类Degree,您需要执行以下操作:

class Degree {}
class Undergraduate : Degree {}
class Postgraduate : Degree {}

这是第一部分。

所以现在你想把本科和研究生当作学位。您将 getDegree 方法定义为虚拟方法。(顺便说一句,我建议你遵循 C# 样式指南[msdn][github]并用 PascalCase -> GetDegree 编写)。

然后,在您的类中,您可以override使用该方法并为每个子类提供您自己的实现。所以你的课程看起来像这样:

public class Degree 
{
    public virtual string GetDegree()
    {
        return "I am a degree";
    }
}

public class Undergraduate : Degree 
{
    public override string GetDegree()
    {
        return "I am an undergrad";
    }
}

public class Postgraduate : Degree 
{
    public override string GetDegree()
    {
        return "I am a postgrad";
    }
}

最后,您可以声明对象并且都属于同一类型(Degree):

Degree d1 = new Degree();
Degree d2 = new Undergraduate();
Degree d3 = new Postgraduate();

d1.GetDegree();
d2.GetDegree();
d3.GetDegree();

推荐阅读