【发布时间】:2013-05-27 19:17:54
【问题描述】:
您需要了解以下内容才能理解该问题:
- 我想将一个名为 SCL 的类连接到一个名为 Region 的类。
- 现在我有很多不同的方式我想连接一个实例 这 2 个类。
- 这是用 Java 编写的
- 没有使用全局变量
所以我可以创建几个利用多态性的类(大约 9 个),但是每个类只有一个名为 connect(...) 的方法,其中包含许多不同的参数列表。我认为这被称为函子类。
例如一个类“SCLToRegionOverlapCircleConnect”将有一个看起来像这样的连接方法
public void connect(SCL scl, Region region, int radius, int overlapPercentage) {...}
虽然“RegionToRegionNonOverlapSquareConnect”类将有一个看起来像的连接方法
public void connect(Region bottomRegion, Region topRegion, int sideLength) {...}
或
我可以只创建一个名为 ConnectionTypes 的类,并且只有 9 个不同的方法,每个方法都有不同的方法签名。
每种实现的优点和缺点是什么?谢谢!
【问题讨论】:
-
在使用第二种解决方案时,可扩展性/可维护性/可读性处于相当大的危险之中。
-
@FlorisVelleman - 我认为不会超过第一个。
-
一种连接方式与另一种连接方式有何区别?它们的行为是否不同,具有不同的参数,或者它们只是标记不同?如果连接的结果是某种连接对象,那么不同的连接方式会产生不同类型的连接对象吗?
-
您没有详细说明,但您可以通过 9 种或更多方式连接这两个类似乎很奇怪。也许你应该重新考虑一切。
-
connect?你能详细说明一下吗..
标签: java polymorphism implementation