Main Content

使用辅助函数重用代码

辅助函数是您在 App 中定义的、可在代码中的不同位置调用的 MATLAB® 函数。例如,您可能想在用户更改编辑字段中的数字或选择下拉列表中的项后更新绘图。通过创建辅助函数,您可以使常用命令具有单一源代码,避免维护冗余代码。

辅助函数有两种类型:私有函数,只能在 App 内部调用;公共函数,可在 App 内部或外部调用。私有函数通常在单窗口 App 中使用,而公共函数通常在多窗口 App 中使用。

创建辅助函数

代码视图提供几种不同的方法来创建辅助函数:

  • 点击编辑器选项卡中函数按钮的向下箭头展开下拉列表。选择私有函数公共函数

    Function drop-down list with options "Private Function" and "Public Function"

  • 选择代码浏览器中的函数选项卡,展开 Plus 按钮上的下拉列表,并选择私有函数公共函数

    Plus button drop-down list with options "Private Function" and "Public Function"

当您进行选择时,App 设计工具会创建一个模板函数并将光标置于该函数的函数体中。然后,您可以更新函数名称及其参量,并在函数体中添加代码。app 参量是必需的,但您可以在 app 参量后添加更多参量。例如,以下函数创建 peaks 函数的曲面图。它接受附加参量 n,用于指定要在绘图中显示的样本数。

methods (Access = private)
    
        function updateplot(app,n)
            surf(app.UIAxes,peaks(n));
            colormap(app.UIAxes,winter);
        end

end

从任何回调中调用函数。例如,以下代码调用 updateplot 函数并指定 50n 的值。

updateplot(app,50);

管理辅助函数

代码浏览器中管理辅助函数与管理回调相似。您可以通过双击代码浏览器函数选项卡中的名称并输入新名称来更改辅助函数的名称。更改辅助函数名称时,App 设计工具会自动更新对该函数的所有引用。

如果您的 App 有许多辅助函数,您可以通过在函数选项卡顶部的搜索栏中输入部分名称来快速搜索并导航至特定函数。开始键入后,函数选项卡的内容将被清除,但会显示符合搜索条件的项。

Functions tab of the Code Browser. The search bar contains the text "plot", and the list of functions below shows the function "updateplot(app,n)" with the text "plot" highlighted.

点击一个搜索结果以将函数滚动到视图中。右键点击搜索结果并选择转至会将光标置于该函数中。

要删除辅助函数,请在函数选项卡中选择其名称,然后按 Delete 键。

示例:用于初始化绘图和显示更新后数据的辅助函数

以下 App 说明如何创建一个辅助函数,该函数在组件回调中初始化两个绘图并更新其中一个。当 App 启动时,该 App 将在 StartupFcn 回调结束时调用 updateplot 函数。当用户在表中对列排序或更改值时,UITableDisplayDataChanged 回调将调用同一个函数来更新其中一个绘图。

相关主题