标题:重写,重构,重载的区别?
只看楼主
believe45
Rank: 1
等 级:新手上路
帖 子:90
专家分:0
注 册:2005-12-7
 问题点数:0 回复次数:11 
重写,重构,重载的区别?

如题~

望高手指教,有一点小晕

搜索更多相关主题的帖子: 重写 重构 重载 
2006-09-03 17:01
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
得分:0 
那个谁谁谁来说一下

淘宝杜琨
2006-09-03 17:50
believe45
Rank: 1
等 级:新手上路
帖 子:90
专家分:0
注 册:2005-12-7
得分:0 

呵呵,斑竹发话了哦~~~

2006-09-03 18:43
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
得分:0 
汗,还是没人

淘宝杜琨
2006-09-03 19:22
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
得分:0 
public class Human {

public void makeLove(){
System.out.println("人类要做爱");
}

public void eat(){
System.out.println("人类要吃饭");
}

public void eat(String food){
System.out.println("人类吃 "+food);
}

}
public class Student extends Human {

public void makeLove(){
System.out.println("学生不允许做爱");
}

public static void main(String[] args){

Student student = new Student();
student.makeLove();//Human类的makeLove方法被Student类重写了
Human human = new Human();
human.makeLove();//Human类没有被重写的makeLove方法应该是输出这个

System.out.println("///////////////////////////");

human.eat();//方法重载
human.eat("大便");//方法重载

}

}



重构(Refactoring)就是在不改变软件现有功能的基础上,通过调整程序代码改善软件的质量、性能,使其程序的设计模式和架构更趋合理,提高软件的扩展性和维护性。

[此贴子已经被作者于2006-9-3 19:24:20编辑过]


淘宝杜琨
2006-09-03 19:22
无理取闹
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:53
帖 子:4264
专家分:0
注 册:2006-7-26
得分:0 
那个谁谁谁说的不错
呵呵

win32汇编
病毒 加密
目前兴趣所在
2006-09-04 07:43
mercyblitz
Rank: 1
等 级:新手上路
帖 子:49
专家分:0
注 册:2006-5-20
得分:0 

重载是函数名相同,但参数列表不同;
而重写也就是覆盖,是子类的函数覆盖住父类的同名函数!

2006-09-04 10:16
believe45
Rank: 1
等 级:新手上路
帖 子:90
专家分:0
注 册:2005-12-7
得分:0 

哦~~~~~

重写是覆盖父类函数,重载是函数名相同,参数不同,重构就是内联啊之类的东西?

2006-09-04 11:17
神经塔
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:1986
专家分:4
注 册:2006-7-1
得分:0 
重写就是必需要有继承!是子类继承父类方法名也必需相同,参数也要必需相同!而重载是在一个类中,参数、个数、类型必需有一个不相同的@!不是很全面,希望楼下继续补充!

[shadow=255,red,2]待到秋来九月八,我花开时百花杀。冲天香阵透长安,满城尽是黄金甲。 [/shadow]
2006-09-07 17:26
苦中乐
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2006-9-4
得分:0 

package Example908;

public class Shape {

/**
*苦中乐,2006-09-07 应用了OOP中多态的特征
* 实现方法的覆写
*/
void draw(){
System.out.println("draw Shape");

}
void erase(){
System.out.println("erase Shape");
}
public static void main(String[] args) {
// 向上转型的特性
Shape circle=new Circle();
circle.draw();
circle.erase();
}

}
class Circle extends Shape{
void draw(){
System.out.println("draw Circle");
}
void erase(){
System.out.println("earse Circle");
}
}


2006-09-07 17:43



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-87741-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.189250 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved