Я разрабатываю проект MATLAB OOP в первый раз. Мой родительский класс будет иметь очень большую матрицу, к которой дети (многие) должны иметь доступ. Как я могу запретить детям копировать данные?Избегание дублирования данных при использовании SuperClass
В псевдокоде я требую, чтобы,
classdef parent
properties
largeMatrix;
end
end
classdef child < parent
methods
function obj = child(parent)
Data.parent of this child = Share from parent
end
...
something = largeMatrix(n,m);
end
end
p = parent; p.largeMatrix = rand(100);
c1 = child(p);
c2 = child(p);
Оба детей c1 и c2 должны обращаться те же данные, созданные в оригинальном rand(100)
, но не следует копировать largeMatrix
, как мне нужно много детей, и хотели бы, для эффективной памяти. largeMatrix
будет считан из файла.
PS: Это первый раз, когда я публикую этот форум, поэтому простите меня, если я разместил его неправильно.
Неверно, что просто создав дочерний элемент, даже если родитель не справляется с тем, что MATLAB копирует данные. Копия происходит только в том случае, если вы изменяете данные внутри дочернего элемента. – Oleg