济南营销型网站,婚庆网站源码,网站的时间对齐应该怎么做,网站设计论文提纲多态的定义#xff1a; 通过指向派生类的基类引用#xff0c;调用虚函数#xff0c;会根据引用所指向派生类的实际类型#xff0c;调用派生类中的同名重写函数#xff0c;便是多态。 C#中的多态可以分为两种类型#xff1a; 编译时多态#xff08;静态多态#xff09; 通过指向派生类的基类引用调用虚函数会根据引用所指向派生类的实际类型调用派生类中的同名重写函数便是多态。 C#中的多态可以分为两种类型 编译时多态静态多态 通过方法重载实现方法重载指的是在同一个类当中定义多个方法名相同但参数不同的方法编译器会根据方法调用时传入的参数来选择调用哪个方法 方法重载是在同一个类中定义多个方法名相同但参数不同的方法。
C#编译器会根据传入的参数类型和数量来选择调用哪个方法
using System;
namespace 静态多态
{public class Test { public int Add(int a, int b, int c) { return a b c; } public int Add(int a, int b) { return a b; } } class Program { static void Main(string[] args) { TestData dataClass new TestData();int add1 dataClass.Add(1, 2); int add2 dataClass.Add(1, 2, 3);Console.WriteLine(add1 : add1);Console.WriteLine(add2 : add2); } }
} 运行时多态动态多态
通过方法重写实现方法重写是指子类重写父类中的虚方法运行时会根据对象的实际类型来调用对应的重写方法。 方法重写是在子类中重新定义从父类继承的方法为了实现方法重写父类中的方法必须被标记为virtual子类中的方法则用override关键字标记 using System;namespace 继承
{public class Animal{public virtual void Dog(){Console.WriteLine(准备复写);}}public class D : Animal{public override void Dog(){Console.WriteLine(复写成功);}}internal class Program{static void Main(string[] args){D dog new D();dog.Dog();}}
}