|
|
1
1
在OOP中,第二种方法更容易接受。原因是,如果要根据类型(A、B或C)添加行为,在第一种情况下,必须检查枚举值。在第二种情况下,将特定行为添加到具体类型A、B和C中。如果您决定添加另一个类型或删除其中一个,在第一种情况下,您必须更改类型检查的所有内容,在第二种情况下,更改只发生在一个地方。 |
|
|
2
0
如果需要泛型类只接受一系列特定类型,那么在数组中记录接受的类型可能会更容易。由于您没有指定特定的语言,我将使用c#,尽管我不能保证它可以用其他语言完成。我想如果语言能够在运行时创建该类型的实例,那么它们也应该能够检查该类型
尽管就个人而言,这并不是真正理想的,因为这是一个运行时检查(即,只有在尝试使用类时才知道)。最好能够以.net所拥有的通用方式应用约束,但只针对一种类型(这对您的情况没有帮助)。 |