对所有人来说
我是一名新手程序员(我没有采用结构化课程)试图选择MATLAB。目前,我正在尝试理解MATLAB的面向对象编程工具。我想在下面的步骤中干净地划分我的项目。我想继承经过证实的data
并在validate
上进行研究。我遇到了这个错误You cannot set the read-only property 'data' of validations.
我该怎么做呢?这是在MATLAB中组织自己的合适方式吗?
classdef formatData.m
properties
data = []
end
methods
function formatData(data)
% This should initialize the data
end
function columnShift(data)
% Simple changes
end
end
end
classdef validateData.m < formatData
properties
error = logical(false)
end
methods
function validateData(data)
if nargin > 0
obj.data = obj@formatData;
end
end
function checkValues()
% check values on data from formatData
end
end
end
令人遗憾的是,MATLAB经常更改面向对象的代码。我发布的代码是从最新文档中引用的。我拥有一年的书似乎完全不同。
classdef formatData
properties
data = [];
end
methods
function obj = formatData(DataIn)
%formatData This should initialize the data
obj.data = DataIn;
end
function [DataOut] = columnShift(obj)
%columnShift ? How to shift the column?
DataOut = (obj.data)';
end
end
end
classdef validateData < formatData
%validateData
properties
error = false;
end
methods
function obj = validateData(DataIn)
%validateData
obj@formatData(DataIn);
end
function [] = checkValues(obj)
%checkValues
end
end
end