C#多态性静态多态性
在编译时,函数和对象的连接机制被称为早期绑定,也被称为静态绑定。C#提供了两种技术来实现静态多态性。分别为:
函数重载
运算符重载
运算符重载将在下一章节讨论,接下来我们将讨论函数重载。
函数重载
您可以在同一个范围内对相同的函数名有多个定义。函数的定义必须彼此不同,可以是参数列表中的参数类型不同,也可以是参数个数不同。不能重载只有返回类型不同的函数声明。
下面的实例演示了几个相同的函数Add(),用于对不同个数参数进行相加处理:
实例
usingSystem;
namespacePolymorphi***Application
{
publicclassTestData
{
publicintAdd(inta,intb,intc)
{
returna+b+c;
}
publicintAdd(inta,intb)
{
returna+b;
}
}
classProgram
{
staticvoidMain(string[]args)
{
TestDatadataClass=newTestData();
intadd1=dataClass.Add(1,2);
intadd2=dataClass.Add(1,2,3);
Console.WriteLine("add1:"+add1);
Console.WriteLine("add2:"+add2);
}
}
}
在编译时,函数和对象的连接机制被称为早期绑定,也被称为静态绑定。C#提供了两种技术来实现静态多态性。分别为:
函数重载
运算符重载
运算符重载将在下一章节讨论,接下来我们将讨论函数重载。
函数重载
您可以在同一个范围内对相同的函数名有多个定义。函数的定义必须彼此不同,可以是参数列表中的参数类型不同,也可以是参数个数不同。不能重载只有返回类型不同的函数声明。
下面的实例演示了几个相同的函数Add(),用于对不同个数参数进行相加处理:
实例
usingSystem;
namespacePolymorphi***Application
{
publicclassTestData
{
publicintAdd(inta,intb,intc)
{
returna+b+c;
}
publicintAdd(inta,intb)
{
returna+b;
}
}
classProgram
{
staticvoidMain(string[]args)
{
TestDatadataClass=newTestData();
intadd1=dataClass.Add(1,2);
intadd2=dataClass.Add(1,2,3);
Console.WriteLine("add1:"+add1);
Console.WriteLine("add2:"+add2);
}
}
}
全部评论
相关推荐
昨天 16:10
门头沟学院 C++ 点赞 评论 收藏
分享