using System;
using System.Collections.Generic;
using System.Text;
public class Based
{
public string fun()
{
return " I am based";
}
}
public class Derived :Based
{
public string fun()
{
return " I am derived";
}
}
namespace ConsoleApplication8
{
class Program
{
static void Main(string[] args)
{
Based br = new Derived();;
Console.Write(br.fun());
}
}
}
大家好,我已经用Java和c#编写了一小段代码。
但是我得到了不同的输出。你能解释一下吗?
在Java中,我得到“我是派生的”,而在C#中,我得到“我是基于的”。你能告诉我为什么吗?以及我们什么时候使用以下语法
Baseclass obj = new Derivedclass().
那就是多态。Java和C#具有不同的默认设置。
JavaDerived class
始终会覆盖其父方法,但是在C#中,我们可以定义从父类创建的子对象是否覆盖其父方法。
这是在C#中的方法:
超越
virtual
分类添加到父方法中。override
分类添加到孩子的方法中。不超越
virtual
分类添加到父方法中。new
分类添加到孩子的方法中。本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句