带参数的操作的OOP语义

时间:2015-12-06 00:40:34

标签: oop

OOP在获取参数(其他对象)的操作方面的语义是什么?

一个简单的例子是添加操作(或Java程序员的equals方法)。

我有一个扩展整数的对象,并希望添加另一个也扩展整数的对象。其中一个可能是一个复杂的数字。另一个可以用显示颜色标记。添加是否应保留两种属性?

OOP是否存在限制一般结果范围的限制?

1 个答案:

答案 0 :(得分:0)

没有先验限制和"普遍性的决定"操作应该是在项目中有意义的更高。

例如

int + float -> float          : 1 + 3.14 -> 3.14
int + fraction -> fraction    : 1 + 1/3 -> 4/3
fraction + float -> float     : 1/3 + 3.14 -> 3.47333333333
int + polynomial -> polynomial: 1 + (x^2 + x + 2) -> x^2 + x + 3

等等。

当然,接收者不必知道如何使用各种参数进行操作,并且它可能会使用双调度或其他技术来扩展操作,因为新的参数类型存在。