黑马程序员技术交流社区

标题: 重载的功能? [打印本页]

作者: 十甫寸    时间: 2013-7-23 23:26
标题: 重载的功能?
本帖最后由 十甫寸 于 2013-7-25 10:38 编辑

1.什么是重载?2.重载的功能是什么?
主要想问第二个问题,希望可以写的清楚些!3Q!

作者: 张强1    时间: 2013-7-23 23:36
重载简单说就是同一个函数名字具有了不同的功能
重载功能就是,只写一个方法,根据所传参数不同去调用相对的功能。
作者: 陈贺    时间: 2013-7-23 23:40
在同一个类中,允许存在一个以上的同名函数,只要它们的参数个数或类型不同就行。
当定义一个功能相同,但参与运算的未知内容不同,那么,这是就定义一个函数名称以表示其功能,方便阅读,而通过参数列表的不同来区分多个同名函数。
作者: yinjiek    时间: 2013-7-23 23:55
public class Num{
     public Num(){}
     public Num(int a){}
     public Num(int a int b){}
     public Num(String a int b){}
}
这些都属于方法的重载;
作者: yangchao313    时间: 2013-7-24 00:59
就是在同一个作用域里,具有相同函数名,不同参数个数,不同参数类型的多个函数,这样的就称为重载
由于重载可以在同一个类中定义功能类似的函数,这给程序员管理类的相似函数提供了极大的方便。例如,在一个定义圆的类中,需要设定圆心和半径来确定一个圆对象,程序员不需要设定setRadius(float r)和SetPoint(float x,float y)两个不同名函数,而只需要设定一个CSetCicle函数名就够了。在这个简单的例子中重载并没有明显的优势,可是当一个类中相似功能函数有几十、上百个的时候,重载的优势就显现出来了,这时程序员不需要去记这么繁多的函数名,可以把更多的精力放在程序本身上。重载的方法只属于子类。
作者: 吴光新    时间: 2013-7-24 08:12
重载特点:与返回值类型无关,只和参数列表有关。
重载好处:方便阅读,优化了程序设计。

什么时候用重载?
当定义的功能相同,但参与运算的未知内容不同时,就定义一个函数名称以表示其功能,方便阅读,而通过参数列表的不同来区分多个同名函数。

作者: 李健09    时间: 2013-7-24 11:22
函数的重载
当定义的功能相同时,参与运算的未知内容不同时定义一个同名函数,
以表示其相同的功能,方便阅读;而通过不同的参数列表来区分多个同名函数。

class FunctionOverload
{
        public static void main(String[] args)
        {
               
                System.out.println(getSum(4,5));
                System.out.println(getSum(4,5,6));
        }
        public static int getSum(int x,int y)
        {
                return x+y;
        }
        public static int getSum(int x,int y,int z)
                 //注意此时函数名和上一函数的名字是一样的但是参数列表不同(参数类型,参数个数),此时的参数的个数为三个,又因为此函数同样需要return x+y功能顾定义该同名函数,
           //并可调用上一函数的return x+y功能
        {
                //return x+y+z;
                return getSum(x,y)+z;//调用同名函数功能
        }
}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2