• λ我爱Aspx >> Asp.Net >> msdn上的一个例子看不太懂,请高手讲解一下,关于virtual,new,override的
  • msdn上的一个例子看不太懂,请高手讲解一下,关于virtual,new,override的

  • :aspxer  Դ:csdn  :2007-7-6 2:50:50  ؼ:
  • 第3楼. 由 sakai9784 于 2007-6-27 17:23:20 发表

    http://noriko529784.blog.163.com/大量开源代码和资料,需要的在主页中注明电子邮箱

    第4楼. 由 maoxiong25 于 2007-6-27 17:25:44 发表

    public new virtual void DescribeCar()

    表示基类中的DescribeCar方法被隐藏起来。而执行当前类的DescribeCar()方法。

    public override void DescribeCar()只是重写一下基类的方法而以。

    第5楼. 由 lianshaohua 于 2007-6-27 17:30:58 发表

    这是一个显著的多态的例子

    这需要从car类看起:

    DescribeCar()方法是Virtual,说明他的派生类可以重载这个方法;

    其派生类:ConvertibleCar 中的DescribeCar()方法又是虚了,所以隐藏了Car()类的DescribeCar方法

    派生类:Minivan 中重载了DescribeCar()方法.

    (怎么说呢,如果基类中有虚方法,而在其派生类中重载了这个方法(override,且返回值参数一至),当把派生类的指针赋给基类的指针时,如果用基类的指针来调用这个重载的方法,那么就会在VMT虚方法表中去查找方法的地址,并进行调用,如果派生类重载了这个方法,那么基类的指针就调用派生类的重载的方法,如果没有实现,则基类指针就调用自已的虚方法)不知道我说明白了没有..

    第6楼. 由 lianshaohua 于 2007-6-27 17:37:43 发表

    Car[] cars = new Car[3];

    cars[0] = new Car();

    cars[1] = new ConvertibleCar();

    Ҷƪл˵?
  • һƪ启动jboss后,假如在浏览器端输入远端目录名时会把所有该目录下的文件显示出来,不让它显示该怎么办呢?
    һƪ同志们:我记得有一个设置,可以让提交后页面的竖滚动条自动滚动到提交前的位置,是什么来着...