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)

Catégories

En savoir plus sur Handle Classes dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by