Matlab ile de diğer nesne tabanlı programlama dillerinde olduğu gibi sınıf yazılabiliyor. Fakat dikkat edilmesi gereken bir şey var. O da nesneyi oluşturan fonksiyonda (’class constructor’) alanları (’fields’) yazarken sıralarının önemli olması. Eğer

??? Error using ==> class
Field names and parent classes for class myclass cannot
be changed without clear classes.

hatası ile karşılaşırsanız, bahsettiğim sorunu yaşıyor olabilirsiniz. Çözümü de sırayı tüm yerlerde aynı yapmak.

Örneğin alttaki kodda bahsettiğim problemle karşılaşılır:

function p = myclass(a)
if nargin == 0
p.field1 = '';
p.field2 = '';
p = class(p,'myclass');
elseif isa(a,'myclass')
p = a;
else % eğer a 'myclass' sınıfından değilse
p.field2 = a;
p.field1 = '';
p = class(p,'myclass');
end

Sorunu yaşamamak için de 9. ve 10. satırları yerdeğiştirmek gerekiyor.

Not: Yukarıdaki kod sadece bir örnek. Normalde yaacağınız sınıf çok daha karmaşıktır ve sırayı da farklı yapmış olabilirsiniz. Benim gibi 2 saat sorunu bulmak için uğraşıp da çözümünü bulunca “yuh be Matlab” demek zorunda kalmamanız dileğiyle…