java怎么解决书写啰嗦问题的

        上篇写了对面向对象与面向过程的区别的理解,最后总结下说,面向对象会写起来较为啰嗦,盖因每个对象都要重复写同样的方法。但是,上篇只是说了两者在概念上的不同而已,实际上,两者都在自己的发展中,对自己的不足进行了一定程度上的弥补。那面向对象的java是如何解决书写啰嗦的呢?

    为了解决这个问题,java语言中搞了个继承的概念。还以上篇的四个图形旋转并播放音乐为例,这四个对象其实都可更抽象的概括为图形这个class,这个class中含有rotate与play两个方法,成为父类,相应的具体的四个图形对象便成为子类了。子类可继承父类的属性与功能,因此,在父类class已经编写了rotate与play方法后,子类直接继承了父类的方法,就避免了书写啰嗦的问题。但是那个不规则图形不是使用不同的rotate与play 方法么,如果它也是直接继承了父类,岂不是与其他三个图形的方法一样,就不符合客户的要求了?

    其实不然,除了继承的概念还有个重写的概念,即若子类中的方法类型,入参个数、类型等与父类中相同,则本来由子类继承父类的方法会被新的子类中的方法所覆盖,这样就可以完成客户的要求了。

    说到重写,就一定要说重载,其实在我看来,这与c很不同。重载就是可以有相同的方法名,只要入参类型与个数不同,即使入参类型与个数相同,入参顺序不同也可,就会调用相应的方法。挺使用的一个功能。

    当然,父类与子类的继承还是有一定的局限性,就是子类只能继承一个父类,为了解决这个问题,java中又有了接口的概念,一个class可以implements多个接口。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值