软件重用的意义是什么?
我晕,楼上,重构可不是“重载构造函数”的简写。
软件重构和重写压根不是一个层次上的东西!软件重构是说程序员为了对 已有程序 在尽量不改变接口的前提下 进行如下处理 而做的 重新编写代码的工作1、去除bug2、提高效率3、增加新的功能等等。
而方法重写只是大多数面向对象语言提供的一种机制,目的主要是帮助实现“多态”。
许多时候java代码的重构确实利用了java的方法重写机制,但是你要理解它们根本不是同一层次上的东西。
重构:站在软件整体设计思想的高度,改变软件内部结构达到提高效率,增加功能,去除bug等工作。
方法重写:仅仅是java的一种语言机制,它和继承,超类可以引用子类等机制一同实现“多态”。
...
软件的重构是指什么呢?
首先这三个概念描述得范围是不同的:1.重构, 是对软计设计方法的描述, 这个层面是架构和设计方法,你今天写了一个应用, 读txt文档并显示, 几天后,用户的新需求来了, 告诉你, 我要读一个XML文本并显示, 这个时候, 你从前的代码需要做变更, 这个变更的动作, 就叫做重构;更小一点的例子,你维护的模块有个类叫做Class_B, 别人不爽, 觉得名字不好理解, 要你更改成TXTReader, 并附上注释,也叫做重构.重构是一个软件维护的通用技巧, 重构的具体做法, 可以通过重写或者重载等, 但不限于此, 更改注释, 更改函数名类名等,都可以称之为重构,重构的目的是为了让软件容易维护, 修改其Bug等.2.覆盖(重写), 即override(Overwrite), 表达的都是一个含义,《Thinking in java》中用的是Override, 翻译为覆盖, (跟他们相区别的概念为OverLoad[重载])override(Overwrite)是子类覆盖基类的方法.父类的protect或者public方法无条件的成为子类的方法,但子类不爽, 想要将继承过来的方法改造一下。
这就是override, 方法名,参数值,都是一模一样的。
但内容体(方法中的代码)已经不同了。
3.重载(Overload)就是通过方法的参数识别不同的函数比如你有一个AMethod()不带参数, 然后你用了一个另外相同名称的方法,带一个参数AMethod(String para),这个过程就叫做重载....
转载请注明出处51数据库 » 软件重用 软件重构 区别
穿梭在鱼中的水