calling dependent properties from one class to another
4 views (last 30 days)
Show older comments
Hi guys,
I want to call dependent properties from one class to another in matlab OOP. Could anyone suggest me how to do that.
I just want to call all my dependent properties. Since i calculated them using get function iam unable to understand how to call them. Could anyone give me some idea.
Thankyou
1 Comment
Steven Lord
on 10 Sep 2020
Are you trying to access the dependent properties through the class name or through a class instance?
The people class defines properties height and weight and a dependent property bodyMassIndex calculated from height and weight.
It doesn't make sense to ask for the bodyMassIndex for the people class.
It makes sense to ask for the bodyMassIndex of a specific instance of the people class.
If that's not the difficulty you're experiencing trying to access dependent properties, please show a small example that simulates the real problem you're trying to solve/model and explain the difficulty using that small example.
Answers (2)
Steven Lord
on 11 Sep 2020
classdef fitFunction
methods(Static)
function f=fit(objDS)
P=[0.456,0.2030]
objCore.Matcore=objDS.Matcore;
objCore.Wm=objDS.Wm;
% my core parameters have to be updated
objCore.depth=P(1);
objCore.length=P(2);
% i need to call my dependent properties
c1=lte(objCore.depth,objDS.dxma)
end
end
end
You created an object objCore in the base workspace. This function does not operate on that object. The assignments to objCore make a struct array in this function's workspace. So if you were to ask for objCore.area in this function, that struct doesn't have a field by that name.
There's a scientist named Steven Lord at the SETI Institute. Even though we share a name, I am not him and he is not me. Similarly just because the object in the base workspace and this identifier in the function share a name, they are not the same thing.
If you want this function to operate on an objCore object, it needs to accept that object as an input or to create one. [Technically there is a way for it to "reach into" its caller's workspace or the base workspace, but I strongly discourage doing that sort of "action at a distance".]
0 Comments
See Also
Categories
Find more on Genetic Algorithm in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!