我试图理解 C# 中的继承,这就是我尝试一些示例的原因,但我知道使用 new 关键字或不使用 new 关键字的事情都是一样的。
那为什么我们需要new关键字呢?
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
try
{
List<int> col = new List<int>();
Class1 c1 = new Class1();
Class2 c11 = new Class2();
Class1 c111 = new Class3();
c1.setmessage();
c11.setmessage();
c111.setmessage();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
class Class1
{
private string member;
public void setmessage()
{
MessageBox.Show("Class1");
}
}
class Class2 : Class1
{
private string member;
public void setmessage()
{
MessageBox.Show("Class2");
}
}
最佳答案
在此上下文中,new
关键字表示方法的隐藏。
这意味着就继承而言,您不是覆盖基类中的方法,而是编写一个完全独立的方法。
如果未被重写的可重写方法未被使用,编译器会发出警告,因为大多数情况下这是一个错误,应该简单地重写该方法。那里有 new
关键字表明隐藏是一个明确的决定。
关于c# - 在 C# 中使用 new 关键字继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10043872/