Итак, предположим, что я работаю в мире дискретной математики, и у меня есть некоторая функцияКакие объекты принадлежат методу? Перевод с дискретной математики
f: A x B x C -> D
.
С помощью этой функции я могу выполнять вычисления, такие как f(a,b,c) = d
. (Я расплывчатый здесь специально).
Теперь предположим, что я хочу реализовать это вычисление явно на каком-то современном языке программирования OO. Поэтому я инициализирую переменную под названием a
класса ClassA
и т. Д. С 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)
,d = ZStatic.f_4(a,b,c)
все как правдоподобные варианты, не так ли?
Учитывая, требуется ли требование симметрии, я реализую все эти параметры?
Я бы предпочел полностью отказаться от конструкторского подхода, но помимо этого я не знаю, какой прогресс можно было бы сделать, кроме предположения о сугубо произвольной информации.
Итак, какой объект должен иметь функцию $ f $, если таковая имеется?