Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在MATLAB类中用obj作为参数的类方法_Matlab_Oop - Fatal编程技术网

在MATLAB类中用obj作为参数的类方法

在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,在您的情况下

假设我有一个实现此函数的类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
,在您的情况下是
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)。