在MATLAB类中用obj作为参数的类方法
假设我有一个实现此函数的类a:在MATLAB类中用obj作为参数的类方法,matlab,oop,Matlab,Oop,假设我有一个实现此函数的类a: function do_Some_Thing_With_Points(obj, P) obj.other_function(); 我想了解此功能的以下用法: function do_Some_Thing_With_Points(obj, P) obj.other_function(); 假设a是a的实例,并且: a.do_Some_Thing_With_Points(P); 不传递参数obj是否可以,这意味着什么? 谢谢 您实际上通过的是obj,在您的情况下
function do_Some_Thing_With_Points(obj, P)
obj.other_function();
我想了解此功能的以下用法:
function do_Some_Thing_With_Points(obj, P)
obj.other_function();
假设a是a的实例,并且:
a.do_Some_Thing_With_Points(P);
不传递参数obj
是否可以,这意味着什么?
谢谢 您实际上通过的是
obj
,在您的情况下是a
。这是因为
a.do_Some_Thing_With_Points(b);
相当于
do_Some_Thing_With_Points(a, b);
至少如果只向函数提供了类的一个实例
不建议使用第二种情况的语法,因为没有明确提供方法的“所有者”(如果b也是类A的实例,则此方法所有者不明显)。我加入它只是为了帮助您理解obj的来源。谢谢。我还有一个问题:做a.merge(b)意味着什么,其中b也是a的一个实例?我不知道。这完全取决于类以及函数
merge
是如何实现的。难道没有一个matlab标准吗?可能有一个带有merge
函数的抽象类。但是如果我不知道你的类定义,我真的不能回答你的问题。我正在学习我得到的一个代码。有一个从handle继承的类,该类正在使用obj.merge(来自相同类型的其他obj)。