< DOCTYPE html PUBLIC -WCDTD XHTML StrictEN httpwwwworgTRxhtmlDTDxhtml-strictdtd>

首先请大家看看下面的例子,
using System;

abstract public class contact
{
      public virtual string prinf()
      {
          return ("这是虚方法");
      }
}

public class class1:contact
{
       public string prinf()
       {
              return ("这是新的方法");//但这会出现编译警告,因为已经从contact那继承了一个同名方法
       }
}
想要通过编译,只需将prinf的声明改为
public override string prinf()

public new string prinf()
但是这两种声明方式是有区别的,
请看下面的例子:
using System;

abstract public class contact
{
      public virtual string prinf()
      {
          return ("这是虚方法");
      }
}

public class class1:contact
{
       public override string prinf()
       {
              return ("这是新的方法");   
        }
}
public class class2:contact
{
       public new string prinf()
       {
              return ("这是另一个新的方法");   
        }
}
public class text
{
        public static void Main()
        {
              contact [] contacts=new contact [2];
              contacts[0]=new class1;
              contacts[1]=new class2;
              foreach(contact ct in contacts)
              {
                    Console.WriteLine(ct.printf);
               }
         }
}

最后我们看到的结果是

这是新的方法
这是虚方法

而没有看见“这是另一个新的方法”,这是因为class2没有重载虚方法,而是重新定义了一个方法!
这就是两者的区别!!!

本文转自 netcorner 博客园博客,原文链接:http://www.cnblogs.com/netcorner/archive/2007/08/04/2912319.html  ,如需转载请自行联系原作者

关于C#中虚方法重载的说明相关推荐

  1. java 返回值判断_在Java中判断方法重载的条件除了参数外,还可以通过返回值类型判断。_学小易找答案...

    [单选题]若int x;且有下面的程序片断,则输出结果是() . for (x=3; x<6; x++) { printf((x%2) ? "##%d" : "** ...

  2. WCF中的方法重载 实现

    操作重载 注意:WCF是不支持重载的,如果硬是写成重载的话,会抛出异常 InvalidOperationException,但是我们可以模拟! 原C#中的方法重载: interface ICalcul ...

  3. scala 方法重载_Scala中的方法重载

    scala 方法重载 Scala方法重载 (Scala method overloading) Method overloading is a method that is redefined in ...

  4. [转载] Java Challengers#1:JVM中的方法重载

    参考链接: Java中自动装箱和扩展的方法重载 欢迎来到新的Java Challengers博客!本博客致力于挑战Java编程中的概念.掌握它们,你将成为一名技术娴熟的Java程序员. 本博客中的技术 ...

  5. java方法重载和重载方法_Java中的方法重载

    java方法重载和重载方法 The concept of Method Overloading in Java is where a class can have multiple methods w ...

  6. python方法重载_关于类:如何在Python中使用方法重载?

    我尝试在python中实现方法重载: class A: def stackoverflow(self): print 'first method' def stackoverflow(self, i) ...

  7. c 语言中虚方法有什么作用是什么,虚函数的作用?

    定义 定义:在某基类中声明为 virtual 并在一个或多个派生类中被重新定 义的成员函数[1] 语法:virtual 函数返回类型 函数名(参数表) {函数体;} 用途:实现多态性,通过指向派生类的 ...

  8. mybatis接口中的方法重载_MyBatis底层实现原理: 动态代理的运用

    点击上方"Java知音",选择"置顶公众号" 技术文章第一时间送达! 作者:祖大俊 my.oschina.net/zudajun/blog/666223 一日小 ...

  9. TS中的方法重载,函数重载,构造器重载

    什么叫重载 名字相同 ,参数类型不同 方法重载 方法重载在类中定义多个同名的方法,但是每一个同名的方法要求不同数据类型和不同参数 下面来实现一个方法重载 以ArrayList 为例 可以查看数据 可以 ...

最新文章

  1. SAP HUM 如何对一个HU做上架?
  2. Tomcat启动特慢之SecureRandom问题解决
  3. 方法论、方法论——程序员的阿喀琉斯之踵
  4. 浏览器了解(二)HTML解析过程
  5. 前端程序员最爱用的8款代码编辑器,你用哪款?
  6. ASP.NET MVC的过滤器笔记
  7. css现在还用浮动吗,css3-9 css中的浮动怎么使用
  8. matlab dct稀疏系数,Matlab DCT详解
  9. 百度SEO资源吧emlog模版全套源码
  10. shift 位置参数左移命令
  11. Docker从理论到实践(八)------Docker网络基础配置
  12. 关于java的http请求的工具类
  13. SSL认证之相关证书的生成
  14. qq游戏大厅 for linux,网友第一时间抢先评测:腾讯QQ Linux版
  15. WEB-互补色与对比色的计算与获取 (实用、赞)
  16. 解决:文件名太长删不掉
  17. 0024-华为OD机考:身高--体重排序
  18. 土木工程考研和计算机考研哪个,土木工程考研还是就业
  19. python 学习分享之简单的播放音乐1(playsound)
  20. android app权限_如何限制Android App权限

热门文章

  1. 大工13秋《计算机文化基础》在线测试1,大工13秋《计算机文化基础》辅导资料六...
  2. 交换机连接控制器_DELL MD3200I存储单双控制器的自由切换
  3. 浏览器和驱动版本对应关系
  4. 动态规划经典题目_动态规划经典题目:鸡蛋掉落(附视频讲解)
  5. 小度智能音响拆解 芯片_不拆不快:小度音箱拆解测评
  6. c语言 link找不到函数,link失败,找不到库函数'sqrtf',math.h的头文件已经包含...
  7. java泛型区间_JAVA 14(泛型)
  8. jsp mysql模板_jsp的分页查询的代码(mysql数据库)
  9. python方法与重载_python特殊方法和运算符重载(番外--重载)
  10. (编程解决)List和Hashtable都是可以存储数据的,可为什么有时选择List,有时需要Hashtable,这两个