matlab initialiser des objets

Je joue avec la programmation orientée objet en MATLAB, et j'ai le constructeur suivant:

fonction obj = Escadron(num_fighters, num_targets, time_steps) 
si nargin == 0 
num_targets = 100; 
time_steps = 100; 
num_fighters = 10; 
fin 
obj.num_shooters = num_fighters; 
pour iShooter = 1:obj.num_shooters 
un(iShooter) = Tir(num_targets, time_steps); 
fin 
obj.ShooterArray = a; 
obj.current_detections = zeros(num_fighters, num_targets); 
fin 

Que temporaire de la variable 'a' odeur terrible. Est-il une meilleure façon d'initialiser un tableau d'objets, je souhaite qu'il y ait un push/pop méthode. Je suis sûr qu'il ya une meilleure façon de le faire.

  • Étonnamment, vous pouvez également attribuer des Shooter tableau directement dans Shooter constructeur: mathworks.com/help/techdoc/matlab_oop/brd4btr.html
  • je suis de l'allocation dans le constructeur, connaissez-vous d'une manière plus propre de le faire que d'utiliser une variable temporaire? Peut-être que je suis absent quelque chose.
  • "Le moyen le plus propre" est subjectif ... Mon message: il ne travaille pas seulement dans Squadron mais aussi directement dans Shooter constructeur.
  • eu vous. Je vois ce que vous dites. C'est plus propre.
  • double possible: Comment préallouer un tableau de classe dans MATLAB?
InformationsquelleAutor bonhoffer | 2011-05-25