|
1
0
这是我刚才谈到的OO方法,但根据您对我的评论,我不确定它是否满足您的需求。
第一个a
您可以创建一个转换类,该类对于转换可能很方便
然后是一个“Kingdom”类,它以默认方式显示大小:
两个“家族”类,一个继承了王国版本的
然后是一个“物种”类
这是一个如何以不同方式显示其大小的示例(即使使用相同的
输出
|
|
|
2
0
战略模式在这里很有用。为不同的计算方法创建策略,并根据给定的 王国 ,则, 家庭 和 种 。
首先创建一个接口来定义
然后确定您需要的不同计算方法,并为每种方法创建单独的类。给这些类一些自解释的名称。
然后根据给定的王国/家族/物种值指定适当的类实例。你不必为王国/家族/物种的每一个组合创造条件。创建默认计算,并仅为需要特殊计算的对象创建条件。
我看不到使用
|
|
|
3
0
首先,我同意你的观点,你正在某个地方走到尽头。 你说过
你举了很多例子
不同的算法
它们都做同样的事情,那就是计算大小。解决这类问题所需的只是使用
OO并不能解决所有问题。建议阅读: https://www.sicpers.info/2018/03/why-inheritance-never-made-any-sense/ |
|
|
4
0
是的,但它需要将类型映射到功能,这似乎是您希望通过一些神奇的模式来避免的。没有,如果您要将某些特定功能添加到具体类型,那么您必须在某个地方说什么功能与什么类型匹配。。。你打算如何避免这种情况? 您完全放弃的另一个选项:
就是让每个对象都知道如何做自己的事情。如果这不是一个选项,那么您必须使用某种映射基础架构。 |
|
|
Bunyamin Erkaya · 使用开关输入后立即断开,或者如果 2 年前 |
|
|
Ettapp · switch语句中的类型保护类 2 年前 |
|
|
user23760512 · 所欠所得税的计算不正确 2 年前 |
|
|
Johnml · 将if-else语句转换为Switch语句 2 年前 |
|
Piotr Siupa · 如何在switch语句中使用太空船操作员 2 年前 |
|
|
Sybe · 将输入转换为数字的方法不起作用[重复] 2 年前 |