ASP.NET方法如何重载需要必备哪些条件
决定方法是否构成重载有以下几个条件:
◆ 在同一个类中;
◆ 方法名相同;
◆ 参数列表不同。
在设计重载方法的时候应该注意一下事项
1 避免随意更改重载中的参数名称。如果某个重载的一个参数与另一个重载的一个参数表示相同的输入,则这两个参数应具有同样的名称。
public void Write(string message, FileStream stream){}
public void Write(string line, FileStream file,bool closeStream){}
public void Write(string message, FileStream stream){}
public void Write(string message, FileStream stream,bool closeStream){}
保持重载成员参数的顺序一致性。在所有重载中,同名参数的位置应该相同。
public void Write(string message, FileStream stream){}
public void Write(FileStream stream, string message, bool closeStream){}
public void Write(string message, FileStream stream){}
public void Write(string message, FileStream stream,bool closeStream){}
以上两种写法结构清晰,增强代码的可读性,更加适合规范。
此准则有两项约束:
如果重载采用变量参数列表,则该列表必须是最后一个参数。
如果重载采用 out 参数,按照约定,这类参数应作为最后的参数
如果需要具有扩展性,将最长的重载作为虚重载。较短的重载只应逐步调用较长的重载。
与override重写的区别
Override是指父类和子类之间方法的继承关系,这些方法有着相同的名称和参数类型。
相关推荐
-
ASP.NET方法如何重载需要必备哪些条件
决定方法是否构成重载有以下几个条件: ◆ 在同一个类中: ◆ 方法名相同: ◆ 参数列表不同. 在设计重载方法的时候应该注意一下事项 1 避免随意更改重载中的参数名称.如果某个重载的一个参数与另一个重载的一个参数表示相同的输入,则这两个参数应具有同样的名称. 例如,不要执行下面的操作: 复制代码 代码如下: public void Write(string message, FileStream stream){} public void Write(string line, FileStrea
-
浅谈java中的对象、类、与方法的重载
对象: 一切皆为对象. 对象包括两部分内容:属性(名词形容词),行为(动词). 对象和对象之间是有关系的: 派生,关联,依赖. 类: 对同一类别的众多对象的一种抽象. 类,还是用来生成对象的一种模板,对象是类的一种具体化的表现. 面向对象的三大特性:封装,继承,多态. class 类名{ 访问修饰符 成员变量的定义; 访问修饰符 成员函数(方法)的定义; } 访问修改符:默认不写,private,public. private,私有.只能被当前class 类名{}中的代码访问到.出了这个类的{}
-
java必学必会之方法的重载(overload)
一.方法的重载 方法名一样,但参数不一样,这就是重载(overload). 所谓的参数不一样,主要有两点:第一是参数的个数不一样,第二是参数的类型不一样.只要这两方面有其中的一方面不一样就可以构成方法的重载了. package cn.galc.test; public class TestOverLoad { void max(int a, int b) { System.out.println(a > b ? a : b); } /* * int max(int a, int b) { * r
-
Java的this关键字的使用与方法的重载相关知识
Java this关键字详解 this 关键字用来表示当前对象本身,或当前类的一个实例,通过 this 可以调用本对象的所有方法和属性.例如: public class Demo{ public int x = 10; public int y = 15; public void sum(){ // 通过 this 点取成员变量 int z = this.x + this.y; System.out.println("x + y = " + z); } public static vo
-
浅谈Java方法的重载
方法的重载是指一个类中可以定义有相同的名字,但参数不同的多个方法,调用时,会根据不用的参数表选择对应的方法 比如 public class Test { void max(int a,int b) { System.out.println(a>b ? a:b); } void max(double a,double b) { System.out.println(a>b ? a:b); } public static void main(String[] args) { Test t = ne
-
php函数重载的替代方法--伪重载详解
函数重载的替代方法-伪重载,下面看一个具体的实例代码. <? php //函数重载的替代方法-伪重载 // //确实,在PHP中没有函数重载这个概念,让很多时候我们无法进行一些处理,甚至有时候不得不在函数后面定义好N个参数 //在看到了func_get_arg,func_get_args,func_num_args,这三个函数的时候,你们是不是想起了什么? function testOne ( $a ) { echo (' 一个参数就这样 '); } function testTwo ( $a
-
python面向对象_详谈类的继承与方法的重载
1. 类的继承与方法的重载 上面就是先定义了一个类A,然后由定义了一个类B,B继承了类A,这样B就有了A的非私有属性和方法. class Washer: company='ZBL' def __init__(self,water=10,scour=2): self._water=water #不想让用户直接访问实例变量,可以标志成私有 self.scour=scour self.year=2000#这是生产日期 #属性包装,将water属性包装成方法,用户使用water时实际是访问的方法 @st
-
java基础之方法和方法的重载详解
一.带参方法 1.1 带参方法的定义和调用 之前定义的方法大部分都是无参方法,但是有些方法的执行是需要前提条件的,那么参数就是将这些前提条件传送过来 定义带参数的方法: <访问修饰符> 返回值类型 <方法名称> (<形式参数列表>){ //方法的主体 } 调用带参数的方法 对象名.方法名(参数1,参数2,参数3-参数n); 定义榨汁机的类,输出详细信息 package Kind.dh; //定义榨汁机类 public class MethodWithParameters
-
Java基础学习之方法的重载知识总结
一.什么是方法的重载? 方法的重载是指一个类中可以定义多个方法名相同,但参数不同的方法. 调用时,会根据不同的参数自动匹配对应的方法. 二.构成方法重载的条件 1).不同的含义:形参类型.形参个数.形参顺序不同 2).只有返回值不同不构成方法的重载 如:int a(String str){} 与 int void(String str){} 不构成方法重载 3).只有形参的名称不同,不构成方法的重载. 如:int a(String str){} 与 int a(String s){} 不构成方法
-
Java 方法的重载与参数传递详解
目录 方法重载概述 方法重载特特点 方法重载练习 方法参数传递 方法参数传递(基本类型) 方法参数传递(引用类型) 方法重载概述 方法重载指同一个类中定义的多个方法之间的关系,满足下列条件的多个方法互相构成重载 * 多个方法在同一个类中 * 多个放方法具有相同方法名 * 多个方法的参数不相同,类型不同或数量不同 方法重载特特点 * 重载仅对应方法的定义,与方法的调用无关,调用方法参照标准格式 * 重载仅针对同一个类中方法的名称与参数进行识别,与返回值无关,换句话说不能通过返回值来判断两个方法是否
随机推荐
- SWT(JFace)小制作 BugTracker
- vue与bootstrap实现时间选择器的示例代码
- shell中嵌套执行expect命令实例
- SQL Server数据库中伪列及伪列的含义详解
- 深入分析escape()、encodeURI()、encodeURIComponent()的区别及示例
- CentOS 7.2 下安装 Docker 1.12.3 版的详细方法
- Ajax,UTF-8还是GB2312 eval 还是execScript
- JavaScript 命名空间 使用介绍
- asp一句话木马原理分析
- 简单解读C++中的虚函数
- ajax提交数据到后台php接收(实现方法)
- 快云vps主机配置免费vpn服务器的方法(windows/linux)
- 让 JavaScript 轻松支持函数重载 (Part 2 - 实现)
- Nginx+iptables屏蔽访问Web页面过于频繁的IP(防DDOS,恶意访问,采集器)
- JavaScript实现获取用户单击body中所有A标签内容的方法
- win2003 iis配置PHP环境图文教程
- Android三种实现定时器的方法
- php中json_encode不兼容JSON_UNESCAPED_UNICODE的解决方案
- VS2010/MFC编程(常用控件:树形控件Tree Control控件创建h和实例)
- 我的论坛源代码(十)