Al momento, stai seguendo questo contributo
- Vedrai gli aggiornamenti nel tuo feed del contenuto seguito
- Potresti ricevere delle email a seconda delle tue preferenze per le comunicazioni
The handle or hgsetget classes miss a method to make deep copies of objects. The two classes "handleplus" and "hgsetgetplus" take care of this.
To use these classes, ...
- simply put them somewhere on your Matlab path.
- in classdef-files change instances of
"classdef MyClass < handle" (or hgsetget)
to
"classdef MyClass < handleplus" (or hgsetgetplus)
Suppose you have defined a "MyClass" as child of "handleplus". Deep copies are now created as follows:
>> OBJ = MyClass;
>> OBJ_new = OBJ.copy;
Some short notes:
- This implementation (hopefully) also handles deep copying of inherited private or protected properties (s. discussion "Clone Handle Object - using MATLAB OOP" -> link in acknowledgments).
- It handles properties, which contain handle-objects
- It does not handle cyclic references (s. mathforum.org/kb/message.jspa?messageID=7629086&tstart=0)
Please read the help for these files for more details and report any bugs.
Cheers
Sebastian
Cita come
Sebastian Hölz (2026). Copy / Clone method for handle and hgsetget class (https://it.mathworks.com/matlabcentral/fileexchange/34762-copy-clone-method-for-handle-and-hgsetget-class), MATLAB Central File Exchange. Recuperato .
Riconoscimenti
Ispirato da: Clone Handle Object - using MATLAB OOP
Informazioni generali
- Versione 1.0.0.0 (4,29 KB)
Compatibilità della release di MATLAB
- Compatibile con qualsiasi release
Compatibilità della piattaforma
- Windows
- macOS
- Linux
| Versione | Pubblicato | Note della release | Action |
|---|---|---|---|
| 1.0.0.0 |
