检查和编辑对象的私有/受保护属性

Rya*_*rds 4 oop matlab private protected

在MATLAB 2011b中,我有一些类具有许多私有或受保护的类属性.这是设计的,因为我不希望这些可以通过除了我自己的getter/setter以外的任何东西来查看,读取,写入等.

但是,在开发过程中,有时我想看看这些属性的状态.可以在工作空间中检查类对象,但是当我通过双击工作空间中的对象来访问" 变量编辑器"工具时,没有任何私有/受保护属性可见.

我可以理解这可能是设计,但我希望有一个我错过的设置让我查看它们.

Jon*_*nas 6

如果您不想修改调试的属性,则可以使用调试器来检查私有/受保护的变量.为方便起见,您甚至可以编写一个方法来进入调试器,这样您就不必手动设置停止:

classdef testObj_debug
    properties (Access=private)
        p1 = 4;
    end

    methods (Hidden)
        function checkProps(obj)
            keyboard
        end
    end
end
Run Code Online (Sandbox Code Playgroud)

如果您调用to = testObj_debug, to.checkProps,则表示您正在访问调试模式,其中隐藏属性p1是可访问和可检查的.