seems like a handle class nesting bug
Mostrar comentarios más antiguos
classdef IqReader < handle
properties
fid=0
end
...
end
classdef InReader < handle
properties
reader=IqFileReader()
end
...
end
classdef T1Reader < InReader
...
end
classdef T2Reader < InReader
...
end
t1=T1Reader();
t2=T2Reader();
assert(t1.reader ~= t2.reader);
In the example above (when split into files as matlab requires), t1 and t2 get the same handle class object as a reader. e.g. changing t1.reader.fid changes t2.reader.fid
This does not seem right to me.
2 comentarios
Stuart MacGregor
el 21 de Mayo de 2023
Image Analyst
el 21 de Mayo de 2023
Then edit it to correct the first post rather than post the correction as a comment.
Respuestas (1)
Steven Lord
el 21 de Mayo de 2023
0 votos
Not a bug. See the "Handle Objects as Default Property Values" section on this documentation page for an expanation and an alternate approach to give each instance of the class a separate handle object as its property.
Categorías
Más información sobre Handle Classes 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!