当前位置:  编程技术>.net/c#/asp.net

基于C#方法重载的总结详解

    来源: 互联网  发布时间:2014-10-19

    本文导语:  1.首先解释一下什么是方法重载? 方法重载是指在同一个类中方法同名,参数不同,调用时根据实参的形式,选择与他匹配的方法执行操作的一种技术。 这里所说的参数不同是指以下几种情况: ①  参数的类型不同 ②  参...

1.首先解释一下什么是方法重载?

方法重载是指在同一个类中方法同名,参数不同,调用时根据实参的形式,选择与他匹配的方法执行操作的一种技术。

这里所说的参数不同是指以下几种情况:

①  参数的类型不同

②  参数的个数不同

③  参数的个数相同时他们的先后顺序不同

注意:系统会认为是同一个方法的两种情况,这样的两个方法不可以在同一个类里,否则系统会报错。

⑴返回类型不同,方法名和参数个数、顺序、类型都相同的两个方法

⑵返回类型相同,方法名和参数的个数、顺序、类型都相同的两个方法,但是参数的名字不同

例如:

代码如下:

① protected  void A(){

           Console.WriteLine("aaaaaaaaaaaa"); }

     ②  protected void A(string s, int a){ //正确的方法重载

           Console.WriteLine("ccccccccccc"); }

     ③  protected void A(string a, int s){

           Console.WriteLine("ccccccccccc");

       }

    ④  protected void A(int a,string s) {

          Console.WriteLine("bbbbbbbbbb");

 }

①  与②是方法重载

②  与③和④比较一下:②与③是同一个方法,因为他们只是参数的名字不同,②与④是正确的方法重载,因为他们参数的顺序不同

2.适用范围:普通方法和构造方法都可以

3.决定方法是否构成重载有以下几个条件:

◆ 在同一个类中;

◆ 方法名相同;

◆ 参数列表不同。


    
 
 

您可能感兴趣的文章:

  • C#学习笔记之C#的虚方法
  • C# 静态方法与非静态方法的区别分析
  • C#中抽象方法与虚拟方法的区别
  • C#实现获取枚举中元素个数的方法
  • C#中实现屏蔽Ctrl+C的方法
  • C#逐行读取txt文件的方法
  • C#实现Datatable排序的方法
  • C#键盘输入回车键实现点击按钮效果的方法
  • c#友好显示日期 c#日期datetime使用方法
  • C#实现获取一年中是第几个星期的方法
  • C#中实现抽象类里建立静态方法
  • 解决C#中WebBrowser的DocumentCompleted事件不执行的实现方法
  • c#自带缓存使用方法 c#移除清理缓存
  • C#实现过滤html标签并保留a标签的方法
  • C# WinForm中禁止改变窗口大小的方法
  • c# 方法可变数量的参数
  • C#判断日期是否到期的方法
  • C# WinForm编程获取文件物理路径的方法
  • C# 获取(非)Web程序根目录的可用方法
  • c# ListView实现双击Item事件的变通方法
  • 这句话对不对 用final修饰的方法是不能被该类的子类所重载的方法 ?
  • 关于“创建重载现存方法的方法”
  • 方法重载后为什么还是调用了父类的方法?
  • 方法重载有什么好处?
  • 请问方法中参数个数相同但参数类型不同,该算是overload(重载)吗?
  • 子类中重载父类方法时调用该父类方法
  • ASP.NET方法如何重载需要必备哪些条件
  • JAVA实现一个类的接口,实际上就是承序这个类,然后在自己的类中重载自己要用的方法?
  • java方法重载示例
  • c# 重载WndProc,实现重写“最小化”的实现方法
  • final定义的方法是不是不允许子类重载的
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • ThinkPHP CURD方法之order方法教程详解
  • ThinkPHP CURD方法之order方法详解
  • ThinkPHP CURD方法中limit方法教程详解
  • ThinkPHP CURD方法之table方法教程详解
  • C#中实现屏蔽Ctrl+C的方法 iis7站长之家
  • MySql实现跨表查询的方法详解
  • 如何编译libfreetype方法详解
  • ThinkPHP CURD方法之limit方法详解
  • ThinkPHP之N方法实例详解
  • Android 实现永久保存数据的方法详解
  • PHP exif扩展方法开启详解
  • oracle修改scott密码与解锁的方法详解
  • ThinkPHP CURD方法之table方法详解
  • jQuery - css() 方法示例详解
  • 使用DateTime的ParseExact方法实现特殊日期时间的方法详解
  • 解决无法在unicode和非unicode字符串数据类型之间转换的方法详解
  • 探讨:sql插入空,默认1900-01-01 00:00:00.000的解决方法详解
  • Android TextView设置背景色与边框的方法详解
  • 解决C++中事件不响应的方法详解
  • ThinkPHP CURD方法之page方法详解
  • java命名空间java.awt.im类inputcontext的类成员方法: getinputmethodcontrolobject定义及介绍
  • 实现在同一方法中获取当前方法中新赋值的session值解决方法
  • java命名空间java.awt.im.spi接口inputmethod的类成员方法: getcontrolobject定义及介绍
  • 突然想到一个奇怪的问题:如果一个非abstract类中包含一个空方法体(及非Java代码写的方法体是空的)的native方法,编译会通过吗?
  • java命名空间java.lang类runtime的类成员方法: runfinalization定义及介绍
  • 构造方法到底怎么用,构造方法体中可以放些什么东西,它和一般方法有什么本质区别功能上
  • java命名空间java.awt.im.spi接口inputmethod的类成员方法: dispose定义及介绍
  • jquery中slideUp()方法与slideDown()方法
  • java命名空间javax.swing类rowsorter<m>的类成员方法: allrowschanged定义及介绍
  • jquery中fadeIn()方法与fadeOut()方法(示例)
  • java命名空间java.lang类securitymanager的类成员方法: getsecuritycontext定义及介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3