口袋妖怪爱心球图片:c# 类继承的问题

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/04 13:46:50
public abstract class A
{
public A()
{
Console.WriteLine('A');
}
public virtual void Fun()
{
Console.WriteLine("A.Fun()");
}
}

public class B: A
{
public B()
{
Console.WriteLine('B');
}

public new void Fun()
{
Console.WriteLine("B.Fun()");
}

public static void Main()
{
A a = new B();
a.Fun();
}
}
看到过这个代码,其中的“A a = new B();”叫做什么定义方法?有什么好处?能否帮我找到相关教程,谢谢高手,在线等
第一位是一个讨论者,第二个是骗分的,我也看到过它贴的东西

过程:

当消息发送到子类并要求以确定的参数调用其中一个方法时:

消息的处理如下沿着类链自下而上逐级查找,直到找到符合消息所要求的方法为止。

子类检查是否有同名且参数完全对应(参数的个数、类型、排列顺序均要相同)的方法,

若有,

就调用它,

若没有,

它的父类就响应这个消息的处理,

查找同名及同参数个数、类型、顺序的方法,

若有,

就调用这个方法。

如果查找到最上层仍未找到就会产生"编译出错"。

子类中若有与其祖先类同名的并具有相同参数表的方法时,

则具有屏蔽或隐藏其祖先类同名方法的功能。

利用多态允许将一个对象声明为某个父类,

而以扩展类实例化它(因为每一个子类都属于其超类的范围,从继承链的层次结构看,属于拓宽转换)。

多态机制可以方便对象的管理。JVM可以根据实例的类型动态地调用实现相应的方法。

这应该是类的多态吧

应该是继承的一个好处。父类可以指向子类的实例