- Property Set Methods: Define set.a, set.b, and set.c methods in your class. These methods execute whenever the corresponding property is assigned a value. Inside each setter, update the other properties based on your equations. You can refer to the documentation for more details: https://www.mathworks.com/help/matlab/matlab_oop/property-set-methods.html.
- Property Listeners: These are event-driven callbacks that trigger when a property value changes. You can implement a logic for the dependent property update inside this callback. For more guidance, refer to: https://www.mathworks.com/help/matlab/matlab_oop/listening-for-changes-to-property-values.html.
Cyclic dependency in OOP
3 次查看(过去 30 天)
显示 更早的评论
I'm new to OOP in MATLAB, but I would like to define properties a,b,c in a class in such a way that if one of the value changes, then so do the other 2. For example, suppose that we have the relation, b = a+1, c = b+1, a = c-2. Hence, if I set the value b = 2, then c = 2+1 =3 and a = c -2 = 1.
0 个评论
回答(2 个)
colordepth
2025-3-13
To implement interdependent properties in MATLAB where changing one updates the others, you can use property 'set' methods or property listeners. Both approaches allow you to define custom behavior when a property value changes.
0 个评论
Walter Roberson
2025-3-13
You can use dependent properties, perhaps in conjunction with hidden properties.
In the example given, you could have a hidden master property, hidden_a with get.a = hidden_a, get.b = hidden_a + 1, get.c = hidden_a + 2. Then establish set.a, set.b, set.c that affect hidden_a in appropriate ways -- for example set.c would set hidden_a = VALUE - 2;
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!