zoukankan      html  css  js  c++  java
  • 对java中继承、接口、组合的思考

    1.在c++中有继承和多重继承,而java中只有单继承。继承的好处在于可以复用一些东西,但缺陷在于后续不好扩展。此外,可读性方面继承也不好。

    2.java中多了一个接口的概念,而接口的功能和其名字表达的一样,就是在说这是一个接口,传什么参数,实现什么功能,返回什么结果。至于怎么实现,那就是具体的类的事情了。

    3.继承和接口的区别:继承可以写一个完整的方法,而接口只是一个方法声明而已。  如果复用的代码除了方法声明还有方法体,那继承比较合适。  如果只是方法声明一样,具体的实现方法各自不同,那接口比较合适。

    4.如果想复用一段代码,继承比接口合适,但继承的扩展性和可读性又比较差。可以使用组合,将这些公共方法写到一个类中,然后将该类作为一个成员变量来使用。这样就达到了复用的目的,可读性和可扩展性也得到了提升。

    5.由此反观编程的几个原则:(根据记忆写的,具体的不清楚了,可能有出入,原则有多条,这里只写相关的两条)

    1)针对接口编程;针对抽象编程;

    2)优先使用组合而不是继承。

    所以从编程原则上看,如何以及何时使用继承、接口、组合,就已经有了答案。

    6.不管是C++还是java,都是面向对象的。只要是面向对象的语言,其特点就离不开抽象、封装、继承、多态。在编程时,要按照编程原则来进行尽可能的优化编程(前提保证功能正确,性能达标),但这些知识点必须全面理解,避免别人写的代码自己看不懂。

    总结:要时刻提醒自己,针对接口编程,多用组合,少用继承。

  • 相关阅读:
    如何找出数组中重复次数最多的数
    如何计算两个有序整型数组的交集
    如何分别使用递归与非递归实现二分查找算法
    如何用递归算法判断一个数组是否是递增
    如何用一个for循环打印出一个二维数组
    如何用递归实现数组求和
    ElasticSearch安装和head插件安装
    SpringBoot全局异常处理方式
    Redis高级命令操作大全--推荐
    Mysql中FIND_IN_SET和REPLACE函数简介
  • 原文地址:https://www.cnblogs.com/Anidot/p/7399225.html
Copyright © 2011-2022 走看看