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是指父类和子类之间方法的继承关系,这些方法有着相同的名称和参数类型。

(0)

相关推荐

  • 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 方法的重载与参数传递详解

    目录 方法重载概述 方法重载特特点 方法重载练习 方法参数传递 方法参数传递(基本类型) 方法参数传递(引用类型) 方法重载概述 方法重载指同一个类中定义的多个方法之间的关系,满足下列条件的多个方法互相构成重载 * 多个方法在同一个类中 * 多个放方法具有相同方法名 * 多个方法的参数不相同,类型不同或数量不同 方法重载特特点 * 重载仅对应方法的定义,与方法的调用无关,调用方法参照标准格式 * 重载仅针对同一个类中方法的名称与参数进行识别,与返回值无关,换句话说不能通过返回值来判断两个方法是否

随机推荐