C#(多态实现)笔记

继承可以扩展已经存在的代码模块,他们的目的都是为了代码重用;而多态则是实现另一个目的---接口重用,因为接口是最浪费时间的资源,实质上设计一个接口比设计一堆类显得更有效率。

多态性在Object Pascal和C++中通过虚函数实现。

子类(派生类)从基类继承时,它会获得基类的所有方法,字段,属性和事件。如果要更改积累的数据和行为,有两种选择:1.使用新的派生成员替换基成员,2.重写虚拟的基成员,上面的实例重写了基类的虚方法;在此开发人员也可以使用新的派生成员替代基类的成员,这是需要使用new关键字。如果基类定义了一个方法,字段或属性,则new关键字用于在子类(派生类)中创建该方法,字段或属性的新定义。new关键字放置在要替换的类成员的返回类型之前。例如,上面实例中重写基类中虚方法的代码可以替代为下面形式。

 

在派生于同一类的不同对象执行任务时,多态是一种极为有效的技巧,使用的代码最小,可以把一组对象放到一个数组中,然后调用它们的方法,在这种情况下多态的作用就体现出来 。这些对象不必是相同类型的对象。当然,如果它们都继承自某个类,可以把这些子类(派生类)放到一个数组中。如果这些对象都有同名方法,就可以调用每个对象的同名方法。

class MyClass2:MyClass1
{
    ///<summary>
   ///重写基类虚方法
    ///</summary>
    ///<returns>返回两个int型变量相加的和</returns>

    public new int Add()
    {
         int x=5;
         int y=7;
        return x+y;
     }
}

  

 

posted on 2015-06-23 21:29  h3iß3n  阅读(207)  评论(0)    收藏  举报

导航