離散数学の世界で働いていて、いくつかの関数があるとします。メソッドを所有するオブジェクトはどれですか?離散数学からの翻訳
f: A x B x C -> D
この機能では、f(a,b,c) = d
のような計算を行うことができます。 (私はここであいまいになっています)。
ここで、いくつかの最新のOOプログラミング言語でこの計算を明示的に実装したいとします。だから、ClassA
のa
という変数を初期化し、b
とc
というように初期化します。じゃあ何?どのオブジェクトが自身であるべきです計算?または、それをイニシャライザにすることもできます。それは静的関数ですか?
私が持っている可能性があり:
d = ZStatic.f_4(a,b,c)
すべてとしてもっともらしい
d = a.f_1(b,c)
、d = b.f_2(a,c)
、d = c.f_3(a,b)
、d = new ObjD(a,b,c)
を、オプション、私はできませんでしたか?対称性が必要な場合は、これらのオプションをすべて実装する必要がありますか?
私はコンストラクタのアプローチを完全に避けることを好むでしょうが、それを超えて、本質的に任意の情報の前提以外の進歩を知ることはできません。
したがって、関数$ f $を所有するオブジェクトは何ですか?