2016-04-04 18 views
0

Ich versuche, eine Methode, um die containers.Map Klasse hinzuzufügen, zum BeispielIst es möglich, der containers.Map-Klasse in Matlab Methoden hinzuzufügen?

function sayHello(obj) 
    disp('Hello!') 
end 

Und ich möchte in der Lage sein zu tun:

map = containers.Map('Foo', 'Bar'); 
map.sayHello 

I sayHello.m zu /my/path/+containers/@Map hinzugefügt haben, aber methods containers.Map und which -all sayHello beide finden meine Methode nicht.

Was mache ich falsch? Ist es nicht möglich, Methoden zu dieser Klasse hinzuzufügen?

Dank

+1

Es ist möglicherweise nicht möglich, Methoden zu einer integrierten Klasse hinzuzufügen, aber Sie sollten in der Lage sein, eine Unterklasse zu erstellen. – Jonas

+0

Danke @Jonas, aber ich habe es geschafft, Methoden (in der Weise in meiner Frage beschrieben) zu "Zelle", 'char' und' fints' hinzuzufügen - nur nicht 'containers.Map'. – rwb

+1

Da 'containers.Map' relativ neu ist (R2008b im Vergleich zu den anderen aufgelisteten Klassen), fällt es wahrscheinlich unter verschiedene Methodenüberladungsregeln wie [hier diskutiert] (http://stackoverflow.com/questions/34602298/add-a) -method-to-matlab-table-class/34603252 # 34603252) und muss für die Erweiterung unterklassifiziert werden. – TroyHaskin

Antwort

0

Wie in den Kommentaren darauf hingewiesen, sieht dies nicht möglich sein. Müll.

See also here.

Verwandte Themen