Run same function for different objects from same class

4 vues (au cours des 30 derniers jours)
Dario Walter
Dario Walter le 1 Nov 2019
Hey guys,
I am still a beginner in OOP. Hope, that the question is not too stupid ;).
Let's assume geMode1,geMode2,geMode3,geMode4 and geMode5 are objects of the Mode Class. How is it possible to execute the testfct function in one line of code (preferably without for-loop) so that it is applied to all objects?
One example could be
function obj = testfct(obj,color)
obj.color = color;
end
I want all objects to have the same color. To define obj = {geMode1,geMode2....} does not really work.
Thanks for your help :)

Réponses (2)

Harsha Priya Daggubati
Harsha Priya Daggubati le 4 Nov 2019
Hi,
You can try initializing color property of the object in the constructor of the Model class. Refer to the following link for more details:
Hope this helps!

Walter Roberson
Walter Roberson le 4 Nov 2019
arrayfun(@(obj) testfct(obj, SomeColor), [geMode1, geMode2, geMode3, geMode4, geMode5])
Provided that they are handle class. If not then modifying them in a compact way becomes more difficult.

Catégories

En savoir plus sur Function Creation dans Help Center et File Exchange

Produits

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by