【发布时间】:2013-07-10 04:19:42
【问题描述】:
假设我有一个带有方法栏的类 Foo。
我还有一个独立的函数栏,它接受 Foo 类的对象。
可以区分这两者吗?还是一样?
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
【问题讨论】:
-
为什么它们是等价的?它们完全不相关。
-
试试看怎么样?
-
我做到了,但我陷入了无限循环,因为类方法总是被调用,而独立函数永远不会被调用。我想知道如何保持相同的函数名称,但区分函数调用,因为它们位于两个不同的上下文中。
-
啊哈,那么如果您可以编辑您的问题并生成产生所描述行为(无限循环)的最小示例,那就太好了。那怎么样?
-
他们都会调用类方法。这是stackoverflow.com/questions/17576506/…
标签: matlab class function methods