首先,重构这个概念,不是JAVA所特有的,而是软件工程的一个概念。
主要是指改善现有的程序代码,使其更方便、简单的使用,提高可重用性、可维护性。
在面向对象C++\C#\JAVA等语言中,重构的概念一般是指对类进行重构,一般在现有类的某些功能方法不能满足扩展需要,或者修复BUG时,就需要重构
重构是一个可迭代的过程,可以对一个功能重复重构,直到其满足软件的需求、维护和可扩展性
重构的方法比较多,一本书也说不完,一些概念性的内容见百科
java重构:指程序员对已有程序在尽量不改变接口的前提下,进行重新编写代码的工作,一般有以下几方面:
1、去除已知bug。
2、提高程序运行效率。
3、增加新的功能。
重构举例:(简化代码、提升效率)
重构前:
if(list != null && list.size() > 0){
for(int i = 0; i < list.size(); i++){
//skip... }}
重构后
if(list != null){
for(int i = 0, len = list.size(); i < len; i++){
//skip... }}
在面向对象编程语言中一般都会有这样的概念,比较容易混淆。一般来说如果换种说法的话就比较容易明白。重构可以说是覆盖,用覆盖一词来讲就比较清楚。在面向对象的一个特性--继承中就表现出重构的意思。
重构,就是继承于父类方法的子类将子类的方法重写,方法名及参数完全相同,就是有相同的声明,但是实现不一致或完全不同。这样如果对面向对象理解比较深刻的话,就清楚重构正是面向对象编程的一大特性。
如:
public class A{
public void print(String param){
System.out.println("这是A类中的print方法");
System.out.println(param);
}
}
public class B extends A{
public void print(String param){
System.out.println(param);
System.out.println("这是A类中的print方法");
}
}
从上面两个类的print方法中可以看出方法的声明及参数完全一致,但是实现不一致,这就是B类的print方法对A类的print方法进行了重构。
标签:重构,Java,老是