【发布时间】:2023-03-24 16:40:02
【问题描述】:
我很久以前就在使用类,但我无法从类似函数的函数/构造函数中输出一件事。我看过多个例子,但无法明确这一点。在这里,我有一个简单的例子,myFunc 输出一个数组,以及类中的相同函数,如何像函数一样从类中输出。
如何像函数一样从类的任何函数中获取输出?
myFunc:
function M=myFunc(n)
[M]=[];
i=0;
for ii=1:n
M(ii)=i;
%% Counter
i=i+4;
end
end
我的班级:
classdef myClass
properties (Access=private)
n
M
i
end
methods
function obj = myClass(n)
obj.n = n;
end
function myFunc(obj)
for ii=1:obj.n
obj.M(ii)=obj.i;
%% Counter
obj.i=obj.i+4;
end
end
end
end
**EDIT 1:**
classdef myClass
properties (Access=private)
n
M
i
end
methods
function obj = myClass(n)
obj.n = n;
end
function M = myFunc(obj)
for ii=1:obj.n
obj.M(ii)=obj.i;
%% Counter
obj.i=obj.i+4;
end
M = obj.M;
end
end
end
【问题讨论】:
-
你能添加一个关于输入、调用和预期输出的小例子吗?
-
我已经输入和输出了,在Class里面,
n是输入,M是输出 -
你想让你的类的
MyFunc方法像顶部的Myfunc一样输出吗?如果是这样它在 classdef 中没有输出,请尝试更改为function obj = myFunc(obj) -
以及如何访问它? @RTL 请清除我。
-
不是上面的输出 obj.M 看起来更像你想要的,但我认为这不能直接完成,需要将 obj.M 复制到一个变量来输出(因为你不能将结构的字段输出为变量
标签: matlab class object-oriented-analysis