Java4Android-面向对象的应用1

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

客户的第一次需求:

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

客户的第二个需求:

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

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

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

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


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

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

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

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

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


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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值