Borrar filtros
Borrar filtros

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

1 visualización (últimos 30 días)
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.

Respuesta aceptada

Sean de Wolski
Sean de Wolski el 8 de Ag. de 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 comentarios
matlablearner
matlablearner el 8 de Ag. de 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 el 8 de Ag. de 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

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Migrate GUIDE Apps en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by