0

メソッドバーを持つクラス Foo があるとします。

クラス Foo のオブジェクトを受け取る独立した関数 bar もあります。

2つを区別することは可能ですか?それとも同じですか?

foo = Foo()
foo.bar() %Is this call equivalent
bar(foo)  %to this call?

編集:私の無限ループの問題の例:

プロジェクトクラス

classdef Project
...
function predict(proj)
    ...
    run_predict;
end

run_predict ("proj = Project()" の後に呼び出されます)

...
predict(proj);

予測関数 (これは決して呼び出されません!)

function predict(proj);
...
end
4

1 に答える 1

0

と入力which -all barすると、次のように表示されます。

C:\path\to\function\bar.m
C:\path\to\class\Foo.m     % Foo method

メソッドは% Classname methodコメントで識別されます。

それとも、メソッド/関数のディスパッチについてもっと複雑なことを尋ねていたのでしょうか?

于 2013-07-11T19:38:04.540 に答える