Can classes be made unsaveable

3 visualizzazioni (ultimi 30 giorni)
Oliver Woodford
Oliver Woodford il 14 Feb 2014
Risposto: Oliver Woodford il 18 Feb 2014
Is there a way to define a class such that the MATLAB save() function throws an error when it tries to save an instance of that class? E.g.
>> h = myclass();
>> save h
Error: Instances of myclass cannot be saved.

Risposta accettata

Oliver Woodford
Oliver Woodford il 18 Feb 2014
No. When a class object is saved, the saveobj method for that class gets called, if it exists. If this method throws an error, it is caught, and thrown as a warning instead. Therefore the best you can do is generate a warning. If you don't want the object to be saved, then you can have the saveobj method return an empty array, which is saved instead:
classdef myclass
...
methods
function a = saveobj(obj)
a = [];
Warning 'myclass objects are unsaveable.'
end
end
end

Più risposte (0)

Categorie

Scopri di più su Class File Organization in Help Center e File Exchange

Prodotti

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by