在java中实现继承中的代码可重用性

时间:2017-05-02 18:58:35

标签: java inheritance

我听说我们可以通过继承实现代码可重用性,例如:从超类A开始,如果扩展并且假设两个类都在同一个包中,我们可以将除私有方法之外的方法继承到类B.如果这是在继承中实现代码可重用性的方法,那么我们也可以通过创建该类A的对象来获得相同的权利吗?我的意思是通过创建一个对象,我们可以访问除私有方法之外的公共方法吗?为什么我们需要继承?继承中的代码重用性是什么?

1 个答案:

答案 0 :(得分:2)

告诉你的是谁给了你"坏"建议。

继承的主要目标是,以便重复使用代码。

课程旨在构建现实的模型(又称抽象);更具体地说:一个有用的模型。其中一个核心部分是:您不会记下class A extends B因为方便这样做,或者因为它可以帮助您节省一些编码工作。

你这样做,因为在你的问题域中,任何A 是-A B都是有意义的。这是继承的核心:两个对象显示相同行为。

并且:恰恰相反,更相关和被接受的范式恰恰相反:FCoI(赞成合成而不是继承)。

请不要误解我的意思:代码重复是您作为程序员可以做的最差之一。因此,避免代码重复是良好编程的核心优点之一。但是:继承创建了类之间的耦合;通过放弃类的隔离来防止代码重复不是一个好主意。由于继承可以阻止您在另一个上下文中重用类。

含义:有时继承可以很好地防止代码重复;但是你必须要小心。