Cannot accèss methods of an Object after modified
Mostrar comentarios más antiguos
I have following codes as junk.m & junk2.m
classdef junk
properties
myValue = [];
end
methods
function obj = junk() % constructor
obj.myValue = 11;
end
function obj = me()
end
end
end
function junk2()
obj = junk(); % construct an object of myClass
obj.myValue = 2; % set some fancy values to the object
obj2 = myFunction(obj); % pass the object to a nice function
disp(obj2.myValue) % verify that myValue has changed
end
function obj = myFunction(obj3)
obj.myValue = obj3.myValue + 1;
end
When I call this function I get following output for methods
methods(obj2)
Methods for class struct:
amd ctranspose fieldnames ichol linsolve permute struct2cell
cholinc display fields ilu luinc reshape transpose
methods(obj)
Methods for class junk:
junk me
How can I get both junk $ me methods after I call myFunction(Obj) method?
Respuesta aceptada
Más respuestas (2)
Honglei Chen
el 15 de Feb. de 2012
You need to instantiate the class first in myFunction. The code as is just create a struct obj in myFunction that has a field named myValue.
function obj = myFunction(obj3)
obj = junk;
obj.myValue = obj3.myValue + 1;
end
BTW, you may want to pay more attention to class names and variable names, make them meaningful.
2 comentarios
Umit
el 15 de Feb. de 2012
Honglei Chen
el 15 de Feb. de 2012
I started a new answer so I can format the code
Umit
el 16 de Feb. de 2012
0 votos
Categorías
Más información sobre Properties en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!