Cannot accèss methods of an Object after modified
Ältere Kommentare anzeigen
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?
Akzeptierte Antwort
Weitere Antworten (2)
Honglei Chen
am 15 Feb. 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 Kommentare
Umit
am 15 Feb. 2012
Honglei Chen
am 15 Feb. 2012
I started a new answer so I can format the code
Umit
am 16 Feb. 2012
0 Stimmen
Kategorien
Mehr zu Properties finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!