Java4Android-面向对象的应用1

来源:互联网 发布:淘宝上1元秒杀是真的吗 编辑:程序博客网 时间:2024/04/30 08:27

被客户不断变化的需求所”折磨“

客户的第一次需求:

开发一个打印机的控制程序,能够实现开机,关机,打印3个功能,     简单;

客户的第二个需求:

增加一台新的打印机,修改一下程序吧,悲剧的是两台打印机牌子不一样,一个是HP,一个是canon;

所以需要修改,原来的class Printer改为class hpPrinter, 再增加一个新的class canonPrinter;

佳能打印机比惠普多了一个清理的功能,所以佳能类里面多了一个函数clean();

这里面存在大量重复的代码;


如果将来开发大的程序存在几万个类,修改重复代码的代价太高了,这样的编程思路的是不适合大型项目的开发的;

可能存在上百个类需要修改,如果一个一个去修改,很难判断是否全部修改了,所以需要面向对象的思维;

我们可以把惠普打印机和佳能打印机抽象出来,创造一个父类叫做class Printer{.... },把所有打印机的共有属性和方法集成到打印机这个类里面;

在子类代码里面继承父类,就可以减少大量的重复代码,在子类里面写自己独有的方法就好了;

此外,在子类里面,用super()去调用父类的函数,再用this调用自己的独有方法,就能极大减少重复代码了;


尝试在以后的编程过程中,通过继承来解决代码重复的问题;

无论是什么样的重复代码,都要尝试用各种各样的方法去解决重复代码,这样才会使自己的代码具有高可扩展性。

0 0
原创粉丝点击