MATLAB Answers


add data to an existing object with a method not in @ directory

Asked by Roy
on 14 Feb 2019
Latest activity Commented on by Adam
on 14 Feb 2019
I have created a class of objects, and have stored the core methods for working with these objects in a directory whose name starts with @.
Now I'd like to write another method to modify my object, but it's not core to the functioning of the class, so I don't want to put it in the @ directory because it's not general purpose enough.
If x is the name of the object, I would like to modify it in place by a call to
but the only way I know how to do this without putting myFunction into the @ directory would be to write the code as
x = myfunction(x, arguments)
but this would be bad for what I think are obvious reasons.


"it's not general purpose enough" - in object oriented programming there is no "too general purpose". The access to data of an object have to be restricted to methods of this class.
modifications in place are restricted to classes derived from handle, which your class does not appear to be .
Either the function belongs on the class or it doesn't. If it does it needs to either be defined in the class file or in the @ directory (I never use the latter method, I always define all class functions in the class file itself, but I assume that is the case). If it doesn't then it can be anywhere but would just work with the class object and its public functions/properties like any other external function.

Sign in to comment.




0 Answers