请问C#中的多态性是什么意思.就高手们指教哦.谢过

解决方案 »

  1.   

    private int xxx(int xx);
    private int xxx(string xx);算一个
      

  2.   

    多态就是同一个方法在不同的类中有不同的实现体.包括方法重载和覆盖,楼上的重载,偶给你个覆盖的class Draw
    {
    public vitual void draw()
    {
    Console.Write("我是画的基类...");}
    }class Circle:Draw
    {
    public override void draw()
    {
    Console.Write("我是画的子类...圆形");}
    }class Square:Draw
    {
    public override void draw()
    {
    Console.Write("我是画的子类...正方形形");}
    }
    Circle Square都是Draw的子类,三个类都有draw()方法,但是各自的实现内容却不一样,此为多态体现之一也.
      

  3.   

    楼上的都对,
    也可以说方法具有相同的名称,而实现不同的行为。
    说简单点 就像汽车分为公交汽车,四轮驱动车,小汽车等,就是车的多态性
    // Define the base class
    class Car
    {
        public virtual void DescribeCar()
        {
            System.Console.WriteLine("Four wheels and an engine.");
        }
    }// Define the derived classes
    class ConvertibleCar : Car
    {
        public new virtual void DescribeCar()
        {
            base.DescribeCar();
            System.Console.WriteLine("A roof that opens up.");
        }
    }class Minivan : Car
    {
        public override void DescribeCar()
        {
            base.DescribeCar();
            System.Console.WriteLine("Carries seven people.");
        }
    }
      

  4.   

    多态 是面向对象里的术语一门语言要能称的上是面向对象的语言,那么必然要有多态的特性,所以C#也有多态性,那么C++,Java也都有.那么多态可以分为静态多态和动态多态静态多态的体现 也就是方法重载,由编译器在编译期间将真正该执行的方法的地址确定.
    动态多态的体现 就是虚方法的Override,是在运行期间由运行时根据虚方法表动态计算出真正该执行方法的地址(不同的语言有不同的具体实现方式),所以动态的动态是会有一定的性能影响(不过对于现在的PC来讲,这个影响基本可忽略掉)多态性很重要吗?
    可以说没有多态就没有面向对象,特别是运行时多态,为程序的扩展提供了切入点.
    没有多态就没有框架设计,也就没有.net framework.
    所有的设计模式也都是基于多态特性来实现.
      

  5.   

    如果还不清楚Override到底有什么用,自己设计class时什么时候该用以及该怎么用Override方法,更没有体会到多态的好处的,那只能说明对面向对象还完全没有入门,那么用C#和用script那些非面向对象语言没啥区别.
      

  6.   

    多台包括两种
    override

    overload
    一种叫做重写,一种叫做重载
      

  7.   

    通过继承,一个类可以用作多种类型:可以用作它自己的类型、任何基类型,或者在实现接口时用作任何接口类型。这称为多态性。我也碰到这个问题,上面那句是刚在MSDN2005上查到的。ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.VisualStudio.v80.chs/dv_csref/html/086af969-29a5-4ce8-a993-0b7d53839dab.htm
    重写是一个方法的多个版本,重载是多个方法。
      

  8.   

    OVERRRIDE OR OVERLOAD 都只是多态性的两种表现形式;再理解了这两种表现形式的基础上。再思考多态性真正的含义:通过继承,一个类可以用作多种类型:可以用作它自己的类型、任何基类型,或者在实现接口时用作任何接口类型。这称为多态性。
      

  9.   

    网上视频有个比方:当理发师听到"cut"的时候会开始剪头发
    演员听到"cut"的时候会停止表演
    医生听到"cut"的时候会在病人身上切道口子
      

  10.   

    override 
    和 
    overload
    的区别是什么!!!
      

  11.   

    多态允许将子类类型的指针赋值给父类类型的指针。
    是允许将父对象设置成为和一个或多个它的子对象相等的技术,比如Parent:=Child; 多态性使得能够利用同一类(基类)类型的指针来引用不同类的对象,以及根据所引用对象的不同,以不同的方式执行相同的操作.
    多态,是面向对象的程序设计语言最核心的特征。多态,意味着一个对象有着多重特征,可以在特定的情况下,表现不同的状态,从而对应着不同的属性和方法。
      

  12.   

    真正的多态使用override来实现的