How do I access a structure which is available inside a method of a class?

1 view (last 30 days)
if true
classdef test1
%UNTITLED Summary of this class goes here
% Detailed explanation goes here
properties
end
methods
function example(obj)
...
% The calculation Part
...
stru % The calculation part returns "struct" which is a structure
%with 5 fields and these 5 fields have some sub fields in them
end
end
The above shown code is my class(test1) which has a method named "example" which calculates a structure named "stru". Stru is a structure with 5 fields and those 5 fields in turn have 3 subfields. ----------------------------------------------------------------------------------------------
My Question: How can I access the structure "stru" in some other method of a different class but which is also stored in the same working directory. Please note, I am using both classes in my GUI.

Accepted Answer

Sean de Wolski
Sean de Wolski on 8 Aug 2014
Store it as a property of the class:
classdef SomeClass < handle
%UNTITLED Summary of this class goes here
% Detailed explanation goes here
properties
aStruct
end
methods
function method1(obj)
obj.aStruct = struct('hello',1);
end
function method2(obj)
disp(obj.aStruct)
end
end
end
Using it:
x = SomeClass
method1(x)
method2(x)
  2 Comments
matlablearner
matlablearner on 8 Aug 2014
Thanks for your quick response. In your code, If I already have two other properties defined and they are being used in the same method, How can I access this propoerty in specific? Excuse me If my question is very naive. I have Included my doubt in the code below.
if true
% classdef SomeClass < handle
%UNTITLED Summary of this class goes here
% Detailed explanation goes here
properties
aStruct
bInfo
cInfo
end
methods
function method1(obj)
obj.aStruct = struct('hello',1);
obj.bInfo = blabla;
end
function method2(obj)
disp(obj.aStruct)
end
end
So Now how do I access the aStruct in some other class and not in the same class. Thanks a lot.
Sean de Wolski
Sean de Wolski on 8 Aug 2014
That other class' method would have to receive the object as an input
otherclassmethod(other_class_obj, some_class_obj)
some_class_obj.aStruct.b

Sign in to comment.

More Answers (0)

Categories

Find more on Construct and Work with Object Arrays in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!