0
非常第一本文檔中: http://www.mathworks.com/help/matlab/matlab_oop/getting-familiar-with-classes.html這個MATLAB類是什麼,爲什麼它不在我的電腦上工作?
類是:
classdef BasicClass
properties
Value
end
methods
function r = roundOff(obj)
r = round([obj.Value],2);
end
function r = multiplyBy(obj,n)
r = [obj.Value] * n;
end
end
end
當我運行這種方式
a = BasicClass
a.Value = pi/3;
它工作正常,並做什麼它應該,但這個一段代碼
a = BasicClass(pi/3);
提供了以下錯誤:
「使用圓形
太多輸入參數錯誤。」
這是什麼意思? (我正在使用R2014a)在Matlab中使用oop是否愚蠢? LOL
謝謝,這工作,但現在此代碼給出錯誤 roundOff(a) 它說:使用回合出錯 輸入參數太多。在BasicClass/roundOff(第16行)中出現錯誤 。 哦,我想這不是課堂的問題,也許我的循環功能已經過時了。再次感謝! –
@ĬnfernalSeraphím你沒有將'roundOff'函數調用爲'myObj.roundOff(foo)'對嗎?或者作爲'myClass.roundOff(myObj)'?第一個參數指向調用函數的對象。所以如果你有一個'BasicClass'對象'bc',那麼'bc.roundOff();'將'bc'舍入到最接近的整數。此外,構造函數不是強制性的,以防未定義構造函數。Matlab使用默認構造函數。仍然一個類應該總是有一個定義的構造函數。 – patrik