我只是想了解多态性和方法重载和方法重写的经典讨论来了,让我困惑的是性能问题。 如果情况就像我可以选择这两个概念中的任何一个那么哪个更好。 我用谷歌搜索,但得到任何有益的东西。
我知道它们完全是两个不同的概念,并且有其自身的重要性和用途,但是如果有机会选择哪一个更喜欢方法覆盖或方法重载?
答案 0 :(得分:0)
选择哪一个更喜欢方法覆盖或方法重载?
大多数表演问题实际上应该被视为;实现此代码的最简单,最清晰的方法是什么。
在这种情况下,它与性能没有任何关系。坚持使用最简单,最清晰的选项。
从学术的角度来看,给出一个案例,我们可以通过这两个概念来解决这两个概念的情况呢?
你需要举一个例子,因为我无法想到一个。
找到3个几何形状的区域。
我会覆盖Shape.area()方法,而在Java中,这将更简单,并且与三种重载方法一样快,具体取决于您实现它的方式。
说你做了
Triangle t =
Circle c =
Square s =
double area = t.area() + c.area() + s.area();
这和
一样快double area = t.area("String") + c.area(123L) + s.area(MyEnum.VALUE);
假设参数只是强制调用不同的重载方法,但正如您所看到的那样,这并不简单或清楚,为什么您要这样做。