【发布时间】:2018-10-01 06:55:01
【问题描述】:
我对 C# 中的多态性和继承有点困惑。 在学习多态性时,我发现了类似这样的东西 ParentClass P = new ChildClass();这有点令人困惑。为什么有人会创建父类的类型来存储子类的对象?但是它在 c# 中是有效的,我只想了解 3 件事: 1. 这样做的目的是什么? 2. 这样做有什么好处? 3. 什么时候应该创建这样的对象? 以下是我的参考代码:
using System;
class ParentClass
{
public void Display()
{
Console.WriteLine("Display method in Parent class");
}
}
class ChildClass : ParentClass
{
public void Display()
{
Console.WriteLine("Display method in Child class");
}
}
public class Program
{
public static void Main()
{
ParentClass P = new ChildClass();
P.Display();
}
}
代码的输出是: Parent 类中的显示方法。
现在,如果有人必须调用父类中的方法,为什么不简单地创建 父类 P = 新父类(); 或者如果有人必须在 Child 类中调用方法,为什么不简单地创建 ChildClass C = new ChildClass();
翻了很多论坛,还是没有找到我想要的答案。如果有人可以用例子详细解释,那将是很大的帮助。谢谢。
【问题讨论】:
标签: c# oop inheritance polymorphism