change variable in a class

15 views (last 30 days)
Adnan Faek
Adnan Faek on 30 Nov 2020
Answered: Vimal Rathod on 6 Dec 2020
I have two classes, whereas the second class is to be called by the first one.
classdef sender < handle
properties
Bitvektor;
end
properties (Access = private)
kobj;
end
methods
function obj = sender(variable)
obj.Bitvektor = variable;
obj.kobj = kanal; %initialize class kanal
end
function u = sendeBitvektor(obj)
obj.kobj.Bitvektor = obj.Bitvektor;
u = obj.kobj.sendtoreceiver; % call function in class kanal
end
end
end
%%%%%
classdef kanal < handle
properties
Bitvektor
Delta
end
methods
function on = kanal(obj)
on.Bitvektor ;
on.Delta
end
end
methods
function u = sendtoreceiver(on)
on.Delta
end
end
end
Now if i try to change delta in kanal the value seems to be changed.
delta = 0.05;
kanal.Delta = delta
However, if i call the function sendtoreceiver, it appears, that the value wasn't assigned to delta.
Sender is not supposed to know delta.
How do i permanently change the value of delta, such that if i call the function sendtoreceiver delta is already assigned ?
Thanks for every help

Accepted Answer

Vimal Rathod
Vimal Rathod on 6 Dec 2020
Hi,
As kanal object is a private variable in sender class, any user will not be able to access that object and set any variable to the delta field and to assign value of delta you have to create a set method or you could assign the variable with a value in the constructor only.
Refer to the following link to know more details about constructor
Refer to the following link to know more about set methods

More Answers (0)

Community Treasure Hunt

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

Start Hunting!