经过一段时间软件构造课程的学习,对于java面向对象的编程思想已经有了一些理解。但在编程的过程中经常会发现一个很重大的问题,那就是代码的利用率太低,太多重复繁琐的冗杂代码出现,这也导致维护过程中修改代码特别麻烦。对此,面向复用的编程思想就显得尤为重要。
何为复用,复用即是将一些已经写好的代码或者是软件直接拿来用,使得编程变得更加简单,能够大大降低成本和开发时间。与传统的开发过程相比,面向复用的编程在前期阶段会更加麻烦,代价很高,但是在编程过程中会发现,面向复用编程会条理更加清晰,具有更好的结构,并且没有冗杂的重复代码。虽然开发成本很高,但维护成本会很低。因此,复用这种思想在编程过程中就显得尤为重要。
对于复用来说,我们常见的方式有两种,一种是继承,一种是委托。由于继承的条件比较严格,所以日常开发中,复用主要以委托为主。何为委托,生活中我们将一件事情安排给别人做即为委托,而在编程中则是将一些方法的实现交给别的类去实现,即是把一些功能委托给别的类来完成。在实际的代码实现中我们可以形成这种思想,将多个类公用的方法放在顶层实现,然后分别对这些类继承顶层实现,将这些类独有的方法委托给新创建的某个方法类来实现,这些类只需要调用这些方法即可。说这么多可能很难理解,我用简单的一个例子来解释这种思想。
假设有一个类动物Animal,它有很多子类蝙蝠,麻雀,海豚,老鹰等,我们就可以把这些子类的公有方法放在Animal中来实现,然后用这些子类来继承Animal,然而对于他们独有的方法,比如蝙蝠麻雀老鹰能够飞,那么我们就可以创建一个飞Fly来实现他们飞的方法,然后在比如蝙蝠类中创建一个Fly的对象,调用Fly类中的飞的方法。则实现了委托。
总的来说,委托是一种极佳的代码编程思想,能够极大提升代码的框架性,并且在后期易于维护,只需要对某一个小点进行修改就可以实现代码的维护和修改。