C#静态多态和·动态多态
时间: 2023-12-13 10:29:19 浏览: 120
深入理解c#多态
C#中的静态多态性是在编译时发生的,主要通过函数重载和运算符重载来实现。函数重载是指在同一个类中定义多个同名函数,但是它们的参数类型和数量不同。在编译时,编译器会根据函数调用时实际传入的参数类型和数量来确定调用哪个重载函数。运算符重载是指可以对内置的运算符进行重新定义,使其适用于自定义的类或结构体。这样可以实现对自定义类型的运算符操作。
而动态多态性是在运行时发生的,主要通过虚函数机制来实现。当父类类型的指针指向子类对象时,使用父类指针调用子类中重写的父类虚函数时,会调用子类重写后的函数。在父类中声明虚函数时需要加上virtual关键字,在子类中进行重写时不需要加virtual关键字。
阅读全文