MATLAB - 私有函式



在 MATLAB 中,私有函式是組織和模組化程式碼的重要概念。它們允許您建立僅在其父函式或包含資料夾範圍內可訪問的函式,從而更輕鬆地管理和維護您的程式碼庫。

什麼是私有函式?

MATLAB 中的私有函式是在其父函式或包含資料夾外部不可見或不可訪問的函式。它們用於封裝僅與特定函式或一組相關函式相關的程式碼。這種封裝有助於改進程式碼的組織、可讀性和可維護性。

MATLAB 中的私有函式在限制函式的可訪問性方面發揮著重要作用。透過將函式歸類為私有,您可以透過將其放在標有“private”的子目錄中來實現此目的。因此,該函式僅對位於直接高於私有子目錄的目錄中的函式和指令碼可用。

現在讓我們瞭解如何建立和訪問私有函式。

建立和訪問私有函式

按照以下步驟在私有資料夾內建立私有函式,並在其他公共函式中訪問它。

  • 假設您當前的工作資料夾為:/MATLAB Drive。在其中建立一個名為 private 的資料夾。
  • 在 /MATLAB Drive 上的資料夾內,建立一個名為“private”的子資料夾,不要將其新增到 MATLAB 路徑中。在“private”資料夾中,建立一個名為“privateFunctionExample.m”的 MATLAB 函式檔案,內容如下:
function privateFunctionExample
% PRIVATEFUNCTIONEXAMPLE  An example of a private function.

disp('You found the private function.');

在 matlab 中顯示如下:

private function

在“private”資料夾外部,建立一個名為“publicFunctionExample.m”的 MATLAB 函式檔案,內容如下:

function publicFunctionExample
privateFunctionExample

在 matlab 中顯示如下:

public function exmple

此“publicFunctionExample”函式未指定為私有,可從資料夾結構外部訪問。在“publicFunctionExample”函式內部,它呼叫在“private”資料夾中定義的“privateFunctionExample”函式。

將當前資料夾更改為不在“/MATLAB Drive/private”資料夾內的任何位置,然後呼叫“publicFunctionExample”函式:

publicFunctionExample

在 matlab 命令視窗中,輸出如下:

>> publicFunctionExample

You found the private function.
>> 

執行此程式碼時,MATLAB 將執行“publicFunctionExample”函式,該函式又呼叫定義為私有函式的“privateFunctionExample”函式。結果,您將看到輸出:You found the private function

您可以使用帶私有函式完整路徑的 help 命令來訪問私有函式“privateFunctionExample”的幫助文件:

help private/privateFunctionExample

在 matlab 命令視窗中執行時,輸出為:

>> help private/privateFunctionExample
  privateFunctionExample  An example of a private function.

私有函式和標準函式的區別

讓我們列出我們最常用的私有函式和標準函式之間的區別。

私有函式

私有函式只能在其定義的函式或指令碼中訪問,或者只能從位於同一資料夾(通常是“private”子資料夾)中的其他函式訪問。它們在此有限範圍內不可見或不可訪問。這使得它們適合於封裝實現細節或內部輔助函式。

私有函式具有有限的範圍,使其適合於封裝和隱藏父函式或指令碼中的特定實現細節。它們提高了模組化性並保護內部邏輯免受外部干擾。

私有函式旨在用於封裝。它們封裝並隱藏內部流程的細節,允許您維護乾淨且組織良好的程式碼結構。

標準函式

標準函式可在 MATLAB 環境中的任何位置訪問,前提是函式的路徑在 MATLAB 搜尋路徑中或函式位於當前資料夾中。這些函式可以從任何指令碼、函式或命令視窗呼叫。

標準函式具有更廣泛的範圍,可以在 MATLAB 程式碼庫的不同部分使用,這使得它們適合於需要從各種指令碼和函式訪問的適用範圍更廣的函式。

標準函式本身並不提供封裝,因為它們旨在從程式碼庫的各個部分訪問。

廣告
© . All rights reserved.