C#多态

作者: 叫我颜先生 | 来源:发表于2018-06-17 11:26 被阅读0次

静态多态

  • 函数重载
    对相同函数名的函数有多个定义,需要参数列表中的参数类型或者个数不同
    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 声明的。虚方法可以在不同的继承类中有不同的实现。

相关文章

  • C#多态

    静态多态 函数重载对相同函数名的函数有多个定义,需要参数列表中的参数类型或者个数不同 运算符重载重载运算符是特殊名...

  • python高级编程第一讲:深入类和对象

    1.鸭子类型和多态 多态的概念是应用于Java和C#这一类强类型语言中,而Python崇尚"鸭子类型" 所谓多态:...

  • Rust中的三种多态性——Enum和Trait(上)

    0x01 开篇 多态性(Polymorphism)在很多语言中都存在,比如Java/C#等。有了编程语言的多态性会...

  • 学习C#多态

    通过继承实现的不同对象调用相同的方法,表现出不同的行为,称之为多态 publicclassAnimal { pub...

  • 2017 10 20

    今天的课上内容是C#面向对象程序设计。三个基本特性:封装 继承 多态。还有C#中的类和对象。和之前学的相似 但也有...

  • C#多态性

    参考文档:https://docs.microsoft.com/zh-cn/dotnet/csharp/progr...

  • Unity 3D学习笔记之C#知识储备

    1.list 和 array 的区别 2.构造函数constructor 和c++一样,有多态、继承C# scri...

  • Unity 面试题汇总(一)

    C#语言基础 1.重载和重写的区别 1) 封装、继承、多态所处位置不同,重载在同类中,重写在父子类中。 ...

  • 浅谈OC的多态

    学过面向对象语言的小伙伴都知道,面向对象的语言(Java,C#,OC)都有三大特性:封装、继承、多态。 所谓封装,...

  • 面向切面编程篇——基础

    C++、C#、Java、Python等目前流行的语言都是面向对象即OOP,封装、继承、多态是其三大特性,三大特性贯...

网友评论

      本文标题:C#多态

      本文链接:https://www.haomeiwen.com/subject/cofweftx.html