分享

override(覆盖)与overload(重载)

 lhzstudio 2012-05-12
override(覆盖)用在继承中:

首先override是继承关系的基础上的一种语法现象。override方法提供从基类继承的成员的新实现。

子类可继承父类中的方法,而不需要重新编写相同的方法。但有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用override


overload(重载)用在非继承中:

方法重载是让类以统一的方式处理不同类型数据的一种手段。

方法重载,就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数(返回类型随便)。调用方法时通过传递给它们的不同个数和类型的参数来决定具体使用哪个方法, 这是编译时多态性。



二者共同实现多态性的完整。override实现运行时多态,方法重载overload实现编译时多态。

多态性
,主要表现在函数调用时实现“一种接口,多种方法”。

静态多态性是通过重载机制来实现。是编译时根据参数不同(函数名相同)调用不同的函数,是在同一个类中。

动态多态性是通过虚函数机制来实现。是函数名相同,参数也相同,只能在运行时才能确定的,是在具有一定继承关系的不同类中。C#里用override 与 virtual的搭配使用实现运行时多态性(polymorphism )

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多