Run same function for different objects from same class

4 views (last 30 days)
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 :)

Answers (2)

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

Categories

Find more on Function Creation in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!