У меня есть класс с именем TestData
, в котором находится частное свойство с именем data
, которое я определяю как числовой массив.Его целью является получение данных из различных других файлов .m
, извлечение данных и размещение их в указанном формате (числовой массив. Таким образом, файл random_data.m
, с которым я сейчас работаю, выплевывает двойной массив 1X13 под названием Avec
. Я генерирую экземпляр класса myTestData = TestData()
, однако, поскольку переменные-члены являются частными, мне нужно иметь функции getData
и setData
. Единственная идея, которую я имею, - передать Avec
в getData
(например, myTestData.getData(Avec)
), а затем сохраните его во временном массиве, который затем может использоваться setData
для записи в data
, но я чувствую, что это плохая практика, так как этот массив должен быть общедоступным.имеет смысл передавать весь массив или я должен передавать каждый элемент по отдельности. Я хотел бы, чтобы он проверял данные, чтобы убедиться, что они также в правильном формате.
Я думаю, в общеммоё представление о том, как работает класс в MATLAB, может быть ошибочным.
Спасибо за вашу помощь заранее, и если есть что-то, что я могу предоставить, пожалуйста, дайте мне знать. BElow - это некоторый код.Первый фрагмент над классом взят из отдельного файла .m
.
%Write data to file using the TestData Object
Avec = [some 1X13 double array]
myTestData=TestData; % Generate an instance of the object
myTestData.getData(Avec);
classdef TestData
properties (Access = private)
metaData % stores meta data in Nx2 array
data % stores data in PxQ array
colLabels % labels columns
colUnits % provides units
metaPrint % used to print metaData
temp % debugging purposes only
end
methods
%****************************************************************************%
%Function: TestData
%Purpose: Constructor used to allocate data arrays
%****************************************************************************%
function this = TestData() %constructor
this.metaData = [];
this.data = [];
this.colLabels = [];
this.colUnits = [];
this.metaPrint = [];
this.temp = [];
end %TestData()
%%
%****************************************************************************%
%Function:
%Inputs:
%Purpose:
%****************************************************************************%
function this = getData(this, someArray)
????
end %getData