c#多态性

clleady 2008-11-04 08:16:51
编译时的多态性是通过重载来实现的,那它仅仅说的是非虚成员吧?因为虚成员用的是运行时的多态性哦,概念对吗?
...全文
96 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
public class A
{
public void Test()
{
Console.WriteLIne("0");
}

public void Test(string str)
{
Console.WriteLIne("1");
}

public void Test(string str,string str1)
{
Console.WriteLIne("2");
}

public void Test(string str,int i1)
{
Console.WriteLIne("3");
}

public void Test(string str,int i1,string str1)
{
Console.WriteLIne("4");
}
}

上面这个类的Test方法就是重载,方法名称一样的,但参数不一样,重载就是以参数来区分具体是哪一个方法,参数个数不同,参数类型不同,相同个数,相同类型的参数,排列顺序不同,都将是一个方法的重载,返回的结果不同不能区分重载。

虚函数,是继承的概念,不是重载的概念。继承和重载没有关系,继承是指接口与类,抽象类与类,父类与子类的相同方法(这里的相同是一模一样,名称,返回值,参数都一模一样)的关系。参数不同就是不同的方法,不能继承。重载是一个类的多个方法名称相同时导致的关系,就是方法名相同但参数不相同。
clleady 2008-11-04
  • 打赏
  • 举报
回复
实战的不就更好了吗?高手举个例子让我高清这个概念吧!
  • 打赏
  • 举报
回复
建议楼主找一本面向对象方面的书看看,理论的东西,估计在这个论坛里的都不是说的很好,因为大家都是搞实战的。即使解释了也是自己的理解,说的也不全。
郭军 2008-11-04
  • 打赏
  • 举报
回复
虚函数也是可以重载的吧。

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧