classes and the "set" method

1 view (last 30 days)
kk
kk on 26 May 2020
Commented: kk on 27 May 2020
Hi,
I am trying to write a class in Matlab and I am new to it, sorry that I probably don't use the correct terminology. In a basic example, I would like to have data structured in this way:
classdef DummyBasic
properties
av = 1;
end
methods
end
end
and
classdef Dummy
properties
X = 0;
a = DummyBasic;
end
methods
end
end
Now, I would like to change X whenever a.av is changed. I guess it would be easy to do if a rearranged the properties X and av to a single class. But is it possible to somehow keep this structure (I am using Matlab2015b)?
Any help appreciated.

Accepted Answer

Steven Lord
Steven Lord on 26 May 2020
Make X a Dependent property in class Dummy and make its get.X method compute the value of X using the current value of the av property. In the example on that documentation page X would behave like the Balance property while av would fill the role of the Currency and DollarAmount properties.
While I don't think this documentation page has changed significantly since release R2015b, if you want to be sure search your locally-installed documentation for "dependent property" and refer to the information on the release R2015b version of this page.
  1 Comment
kk
kk on 27 May 2020
Thank you, this is very helpful, I can now see how the structuring in Matlab works. Because I also want to store data in X, I decided it would be easier for me to define a function setAv() in the Dummy class, which will set the a.av and recalculate the X, instead of directly changing the a.av.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by