c# - 如何调用三个独立类的方法?
问题描述
解决方案
您应该阅读一些关于面向对象的编程概念。
您所指的子类并不是真正的子类,而是嵌套类。要使Undergraduate
和Postgraduate
classes 成为 的子类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();
推荐阅读
- c++ - 用 C++ 读取文本文件中的所有单词
- python - 无法找到 xpath 包含很多“div”的元素
- qt - 有没有办法在 Qt Designer 中创建两个独立的布局?
- datastage - DataStage 在作业批处理中调用用户定义的服务器例程
- c++ - clang ++ 构建失败,但 gcc 构建成功
- linux-kernel - 为什么?BUG:处理中的错误页面映射 *process* pte:b3e05275201 pmd:238adf067
- python - 导入本地模块时如何解决错误
- java - 在 Java 中展平嵌套的 Hashmap
- javascript - 选择文本和突出显示错误(无法在“范围”上执行“surroundContents”:范围已部分选择非文本节点)
- flutter - Flutter:图像如何传递到原生端?