您必須從matlab.mixin.CustomDisplay派生接口並覆蓋getPropertyGroups方法。
對於刪除標題中的幫助鏈接的具體目的,還可以覆蓋getHeader方法。
注意:我不知道如何以這種方式真正處理安全。用戶仍然可以通過其他方式獲取有關您班級的詳細信息。例如meta = ?MyClass
,或者只是edit MyClass
,如果沒有用pcode加密,或者只是在編輯器中輸入myInstance.
,並讓智能感知列表全部non hidden/private方法和屬性。
如顯示你想有:
classdef foo < matlab.mixin.CustomDisplay
properties
Login = 'root';
Password = '1234'
end
methods (Access = protected)
function [str] = getHeader(obj)
str = mfilename;
end
function [pg] = getPropertyGroups(obj)
pg = [];
end
function [str] = getFooter(obj)
str = sprintf('\n');
end
end
end
可能是更好的解決方案,以避免顯示的一些屬性(包括幫助鏈接):
classdef foo < matlab.mixin.CustomDisplay
properties (SetAccess = private, GetAccess = private) % here remove any public access, use '(Hidden)' if only want to remove from display and help
Login = 'root';
Password = '1234'
end
end
注意:小心,因爲@丹尼爾寫道,無論你會做什麼,struct(a)
顯示所有屬性名稱和值。
請注意'struct(a)'顯示所有屬性。你想要保護什麼? – Daniel