Why objects are losing reference for each other?

2 vues (au cours des 30 derniers jours)
Hudson Romualdo
Hudson Romualdo le 18 Sep 2022
Déplacé(e) : Matt J le 20 Sep 2022
Hello.
I'm wrinting a code in using O.O. paradigm and having some problems with references.
I have one classe "Person" that have to be conected with other people (objets of Person)
The problem is that when I navegate deep in the connections, some Person loose it's connection. When I access the object in the "first level" there is the connection. But accessing the same person in a second level, there is no connection anymore.
Here is the code:
classdef Pearson
properties
connections
end
properties(Access = private)
connIndex = 1;
end
methods
function obj = Pearson()
obj.connections = cell(3:1);
end
function obj = addConnection(obj, person)
obj.connections{obj.connIndex} = person;
obj.connIndex = obj.connIndex + 1;
end
end
end
close all; clear; clc;
people = cell(3:1);
%Creating 3 people
for p = 1:3
people{p} = Pearson();
end
%Creating connections between them
people{1} = people{1}.addConnection(people{2});
people{1} = people{1}.addConnection(people{3});
people{2} = people{2}.addConnection(people{1});
people{3} = people{3}.addConnection(people{1});
I'm doing something wrong?

Réponse acceptée

chrisw23
chrisw23 le 20 Sep 2022
Déplacé(e) : Matt J le 20 Sep 2022
try this
classdef Pearson < handle
...
function addConnection(obj, person)
obj.connections{obj.connIndex} = person;
obj.connIndex = obj.connIndex + 1;
end
  1 commentaire
Hudson Romualdo
Hudson Romualdo le 20 Sep 2022
Déplacé(e) : Matt J le 20 Sep 2022
Thanks @chrisw23.
It worked!

Connectez-vous pour commenter.

Plus de réponses (0)

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by