请问重载之后,父类中的那个函数也变掉了吗?当调用父类的相应的方法时出现的是子类的吗?例如:
public Person
{
public void eat()
{console.WriteLine("father");}
}
class Amer
{
public void eat()
{console.WriteLine("son");}
}
Person per=new Person();
per.eat();
那么将显示的是什么?为什么?谢谢!
如果子类中重载父类的方法后(比如用new),那当构造父类的实例并通过该实例调用父类的相应的方法的时候,调用的是父类的还是子类的方法?
追答用new不叫重載父類的方法,用new了叫做隱藏父類的成員,也叫隱藏基類的成員,copy二樓的幾句話
重载,方法名称必须相同,参数必须不同。
重写,方法名称必须相同,参数也要相同。
如果你構造父類的實例,那麼當然調用的就是父類的方法了.,面向對象很重要的一點,通俗的說就是,兒子可以代表老子,但是老子是不能代表兒子的