多态的理解;
类型多态:在 C# 中,每个类型都是多态的,因为包括用户定义类型在内的所有类型都继承自 Object。
函数多态:函数重载 您可以在同一个范围内对相同的函数名有多个定义。函数的定义必须彼此不同,可以是参数列表中的参数类型不同,也可以是参数个数不同。不能重载只有返回类型不同的函数声明。
操作符多态:操作符重载
静态多态性也叫静态联编、静态绑定 就是重载(方法重载)
因为是在编译期决议确定,所以称为静态联编。 方法重载允许创建多个具有不同实现的同名函数。对重载函数的调用会运行其适用于调用上下文的具体实现,即允许一个函数调用根据上下文执行不同的任务。 对于非virtual函数,调用哪个函数是根据指针类型来决定的:编译器根据指针的类型静态的决定出来
。
动态多态性也叫动态联编、动态绑定
就是通过继承重写基类的虚函数实现的多态,因为是在运行时决议确定,所以称为动态多态。对于重载的virtual函数,调用哪个函数是根据对象来决定的,这是在函数运行的动态过程中完成的
抽象类:
C# 允许您使用关键字 abstract 创建抽象类,用于提供接口的部分类的实现。当一个派生类继承自该抽象类时,实现即完成。抽象类包含抽象方法,抽象方法可被派生类实现。派生类具有更专业的功能。
请注意,下面是有关抽象类的一些规则:
士大夫士大夫士大夫
虚方法:
当有一个定义在类中的函数需要在继承类中实现时,可以使用虚方法。
虚方法是使用关键字 virtual 声明的。
虚方法可以在不同的继承类中有不同的实现。
对虚方法的调用是在运行时发生的。
动态多态性是通过 抽象类 和 虚方法 实现的。