2013-06-26 2 views
1

Я использую объектно-ориентированный Matlab, и мне интересно, какой был бы лучший способ создать список объектов, все экземпляры одного и того же класса? Я хочу, чтобы иметь возможность перебирать список в цикле for и использовать одни и те же функции для каждого экземпляра моего класса.Лучший способ реализовать контейнер объекта в Matlab

+7

Что случилось с простым массивом? – Shai

ответ

2

Повторит, что Shai упоминается в комментариях, MATLAB supports создание массива объектов, предполагая, что они все же класс (и что кошка/horzcat/vertcat метода явно не переопределены в противном случае). Например:

obj = MyClass(); 
arr = [obj,obj]; %# 1x2 array of objects 
for ii=1:numel(arr) 
    arr(ii) 
end 

Можно даже создавать массивы объектов different types путем реализации метода конвертеров или имеющие все ваши классы наследуют от matlab.mixin.Heterogeneous суперкласса.

+0

Почему использование 'i' в качестве счетчика циклов в Matlab? – Shai

+0

Хе-хе, я забыл, как сильно вы их ненавидите :) Что я могу сказать, некоторые привычки трудно сломать – Amro

+0

+1 за нарушение привычки и за отличный ответ;) – Shai