谁能给我解释一下面向对象中的重载啊?还有他的好处,和怎么用?
编程思想:重载 叫过载,是指在一个类中具有相同的方法名称,但是参数列表不同(包括多个参数情况下参数顺序不同,但这种情况导致代码难以维护)的情况。
一个类中可以表示为多个不同的构建器,默认构造器和带参构造器,从而新建不同的对象。如下:Tree可以是一颗种子;也可以是一颗发芽的种子
class Tree{
int height;
Tree(){
}
Tree(int i){
height = i;
}
}
Tree t1 = new Tree();
Tree t2 = new Tree(2);
当然这种情况适用于任何方法。例如:
say(参数类型 汉语){}
say(参数类型 英语){}
我们可以说"你好",也可以说“hello”,使用的是相同的方法名say。
另外
void f(){}
int f(){}
我们只关心方法的调用,忽略返回结果时,如果调用f(),别人无法理解是哪个f,因此不能根据方法的返回值类型来区分过载的方法。
重载 不是面向对象的事情.
重写 才是面向对象的事情.
以前的语言函数的签名就是函数名.支持重载的语言.函数的签名除了函数名还包括参数列表
签名=标识
概念性的理解就是,方法名相同,参数或参数类型不同,多次重载,适应不同的要求。是属于(面向过程)
重载是一个类内部实现相同机理的操作,但是操作的对象不同。主要体现在:
转自:http://blog.csdn.net/longshengguoji/article/details/17691913
重载通常可以分为方法重载和运算符重载,实现多态的方式之一是重载,而重载和多态无关,参考:http://www.cnblogs.com/jeffwongishandsome/archive/2009/05/16/1447459.html
重载就是构造方法名称相同,参数不同,个数也可以不同