2

我想加载和保存一些从 classdef 样式类实例化的对象。当对象存在于工作区中而不是外部时,我可以使用“保存”和“加载”。

例如,如果我有一个名为 manager 的类,它需要加载和保存不同的员工类,那么工作区中将不存在员工类。

我需要编写自定义保存程序吗?有没有利用现有工具的方法?

4

1 回答 1

1

首先,我希望我能正确理解你的问题。

你有这样的事情:

   class Manager
      properties
          Employees
      end
   end

   class Employee

   end

你有一个实例Manager

   manager = Manager();
   e1 = Employee();
   e2 = Employee();;
   manager.Employees{1} = e1;
   manager.Employees{2} = e2;

你想保存它。

在这种情况下,即使您的工作区中没有e1e2,save 命令也会在保存时保存它们Manager

但是,为了正确加载它们,您必须同时拥有EmployeeManager在您的工作目录中。这是有道理的,因为没有其他方法可以知道它是什么类。事实上,你会得到一个错误:

Warning: Variable 'manager' originally saved as a Manager cannot be instantiated as an object and will be read in as a uint32. 
Warning: Variable 'e1' originally saved as a Employee cannot be instantiated as an object and will be read in as a uint32. 
Warning: Variable 'e2' originally saved as a Employee cannot be instantiated as an object and will be read in as a uint32. 
于 2012-06-25T20:43:55.520 回答