針對作用中或回應檔案,IBM® Rational® Rhapsody® 會產生一個公用隱含的物件(單態),其使用作用中或回應的功能。單態的名稱即為檔案的名稱。
對於具有常數修飾元的變數,Rhapsody 會產生 #define 陳述式。例如:
#define MAX 66
下表顯示物件與檔案的程式碼產生之間的差異。
| 模型元素 | 檔案程式碼 | 物件程式碼 |
|---|---|---|
| 資料成員(屬性、關聯或物件) | 廣域變數 | 單態 struct 中的成員 |
| 函數 nameYou 可以使用 <lang>_CG::Operation::PublicName 及 <lang>_CG::Operation::PrivateName 內容配置函數(針對檔案、物件及其他元素)的名稱型樣。 | 函數名稱型樣是 <Function>。 | 公用函數的名稱型樣是 <Singleton>_<function>。 專用函數的型樣是 <Function>。 |
| 函數簽章 | 必要時會產生 me 引數,以符合架構回呼函數(針對回應行為)的簽章。 | 相同。 |
| 起始設定 | 變數與關聯會在定義中直接進行起始設定。例如: int x=5; 物件會在產生的 Init 函數中進行起始設定。 |
在起始設定函數中完成。 |
| 類型名稱 | 類型的名稱型樣(不考量可見性)是 <Type>。 | 公開類型的名稱型樣是 <Singleton>_type。 專用函數的名稱型樣是 <Type>。 名稱型樣可以使用 <lang>_CG::Type::PublicName 及 PrivateName 內容進行配置。 |
| 可見性 | 公用成員在規格 (.h) 檔案中被宣告為 extern,並在實作 (.c) 檔案中進行定義。 例如: extern int volume; 專用成員會在實作檔案中被宣告並定義為 static。 例如: static int volume; |
系統會忽略成員可見性;該可見性是 struct 可見性的結果。 例如: struct Ob_t { |
| 自動產生的 | ||
| 起始設定及清理 | 只有算法起始設定才會在起始設定方法中完成(建立組件;起始設定鏈結、行為及動畫)。 起始設定及清理方法只有在需要時才會建立。 起始設定函數的名稱是 <file>_Init;清理函數是 <file>_Cleanup。 |
任何起始設定都會在 Init 方法中完成。 依預設會產生 Init 及 Cleanup 方法。 |
| 架構資料成員 | Rational Rhapsody 會產生只保留架構成員的指定 struct,以及名為 <file> 之 struct 的單一實例。struct 名稱是 <file>_t。 例如: struct Motor_t
{ |
架構成員會作為物件 struct 宣告的一部分產生。 |
| 呼叫架構作業 | 檔案上的架構作業會使用檔案進行呼叫。 例如: CGEN(Motor, ev()); |
單態上的架構作業會透過傳遞單態實例進行呼叫。 例如: CGEN(Motor,ev()); |
| 狀態圖資料成員 | 狀態圖資料成員會作為所產生結構的屬性產生。 例如: struct F_t { |
狀態圖資料成員會作為 struct 的一部分產生。 |
| 狀態圖函數名稱 | 公用狀態圖函數會使用字首 <file>_ 產生。 例如: myFile_sIN() |
使用相同的命名慣例作為任何其他作業。 |
您可以使用 <lang>_CG::Operation::PublicName 及 PrivateName 內容配置函數(針對檔案、物件及其他元素)的名稱型樣。