C#多态

静态多态

  • 函数重载
    对相同函数名的函数有多个定义,需要参数列表中的参数类型或者个数不同
    void print(int i)
    {
       Console.WriteLine("Printing int: {0}", i );
    }

    void print(double f)
    {
       Console.WriteLine("Printing float: {0}" , f);
    }
  • 运算符重载
    重载运算符是特殊名称的函数,通过关键字 operator 后跟运算符的符号来定义。与其他函数一样,重载运算符有返回类型和参数列表。
    下面的函数为用户自定义的类 Box 实现了加法运算符(+)。它把两个 Box 对象的属性相加,并返回相加后的 Box 对象。
    public static Box operator+ (Box b, Box c)
    {
       Box box = new Box();
       box.length = b.length + c.length;
       box.breadth = b.breadth + c.breadth;
       box.height = b.height + c.height;
       return box;
    }

动态多态

  • 抽象类
    1. 您不能创建一个抽象类的实例。
    2. 您不能在一个抽象类外部声明一个抽象方法。
  • 虚方法
    当有一个定义在类中的函数需要在继承类中实现时,可以使用虚方法。虚方法是使用关键字 virtual 声明的。虚方法可以在不同的继承类中有不同的实现。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • C++类和对象 C++ 在 C 语言的基础上增加了面向对象编程,C++ 支持面向对象程序设计。类是 C++ 的核心...
    863cda997e42阅读 3,931评论 0 4
  • 什么是多态性? 多态:相同对象收到不同消息或不同对象收到相同消息时产生不同的动作。C++支持两种多态性:编译时多态...
    showaichuan阅读 3,693评论 0 3
  • 注意:本文中代码均使用 Qt 开发编译环境 面向对象的多态性可以分为四类:重载多态、强制多态、包含多态和参数多态,...
    赵者也阅读 4,892评论 0 3
  • 本文转载自:(做了一些改动)http://www.cnblogs.com/feixiang927/p/504856...
    安然_fc00阅读 11,365评论 1 6
  • 她叫陈娟今年大四,家里有个妹妹叫陈昕,爸爸是公司的一位经理叫陈国华,她的后妈吴燕自己开了家店在那工作,她的生身母亲...
    w浪潮阅读 3,649评论 0 0

友情链接更多精彩内容