Run same function for different objects from same class

1 Ansicht (letzte 30 Tage)
Dario Walter
Dario Walter am 1 Nov. 2019
Beantwortet: Walter Roberson am 4 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 :)

Antworten (2)

Harsha Priya Daggubati
Harsha Priya Daggubati am 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 am 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.

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by