Clearing örnekleri deneyin. Şimdi
foo = MyClass;
Eğer Sınıfım düzenlemek ve yeni statik yöntem "bar" eklemek varsayalım:
Eğer baz çalışma alanında "Sınıfım" örneğini sahip olduğunu varsayalım
foo.bar(); % Will cause error, as foo is instance of previous "MyClass"
Ancak, "net" -ing foo önceki sınıfa başvurusunu kaldıracaktır:
clear('foo');
foo = MyClass;
foo.bar(); % this should now work.
Bu iyi olmalı eğer Temel çalışma alanınızda yalnızca bir veya iki sınıfı var. Eğer baz çalışma alanında sınıfın birçok örneği varsa, o zaman bunları temizlemek için bir senaryo yazmak isteyebilirsiniz: Eğer daha fazla yerde sınıfın örneklerini varsa
varList = whos;
for iVar = 1:numel(varList)
if isequal('MyClass', varList(iVar).class)
clear(varlist(iVar).name);
end
end
clear('varList');
clear('MyClass');
, komut dosyasını genişletmek isteyebilirsiniz uygun.
Sınıf adını temizlemeniz için yapılan son çağrı yalnızca miras hiyerarşisindeki sınıflarda değişiklik yaparsanız gerekli olabilir.
Bu işe yarar, teşekkürler! Bunu bireysel bir sınıfta yapmak mümkün mü? – Brendan
Bildiğim kadarıyla, değiştirilmiş bireysel sınıfları güncellemek için CLEAR'ı kullanmanın bir yolu yok. Hepsi ya da hiç! =) – gnovice
Denenmiş rehash, seçeneklerin hiçbiri işe yaramıyor. Açık sınıfların tek yol olduğunu düşün, şerefe! – Brendan