我将尝试在Matlab中实现一个列表,它可以作为实例计数器。我希望这个列表是静态的。
目前,在Matlab中没有静态关键字,但是他们提供了一个几乎可以完成任务的模式:
声明一个继承自handle的类List:
目前,在Matlab中没有静态关键字,但是他们提供了一个几乎可以完成任务的模式:
声明一个继承自handle的类List:
classdef List < handle
properties (Access = private)
cellRepresentingAList = {};
end
..... %Implement any functions
end
那么您可以按照以下方式使用它:
classdef MyClassUsingAList < handle
properties (Constant, Access = private)
myListOfStuff = List();
end
.....
end
我们使用一个句柄对象作为常量导致每个 MyClassUsingAList 实例都将使用相同的对象句柄,也就是说我有一个静态列表。
一切都完美运行,直到出现异常。或者我通过“停止调试”按钮进行调试,或者保存。此时,列表被清除为空。
这不是我可以投入生产的东西。
Matlab 提供了持久性变量,用于在函数中起到静态变量的作用,但无法在类中使用(除非您在使用该列表的每个方法中使用关键字“persistent”)。
是否有可靠的方法来实现这个目标?
谢谢