04 多用型別常量,少用 define預處理指令

2021-09-11 12:41:30 字數 642 閱讀 6778

// 預處理指令,預處理指令把原始碼中animation_defation替換為0.3

#define animation_defation 0.3 // 不推薦

// 推薦 定義常量的方法

static const nstimeinterval kanimationduration = 0.3;

// 變數一定要同時用static 和const來宣告。

//試圖修改const修飾符鎖宣告的變數,那麼編譯器會報錯。

//static修飾符意味著該變數僅在此變數的編譯單元內可見。

複製**

| 注意:若常量在實現檔案內,在前字母加k。若在類之外可見,常加類名為字首。

// in the header file

extern nsstring *const eocstringconstant;

// in the implementation file

nsstring *const eocstringconstant = @"value";

複製**

多用型別常量,少用 define預處理指令

如何使用 只在乙個檔案中使用 static const nstimeinterval kanimaltime 0.3 多個類中使用,全域性 extern nstimeinterval const kanimaltime in the header file const nstimeinterval ...

4 多用型別常量,少用 define預處理命令

define animation duration 0.3 缺點 1 這樣定義沒有型別資訊,使閱讀 的人難以理解其意圖。2 假設此指令宣告在了某個標頭檔案中,那麼所有引入這個標頭檔案的 其animation duration都會背替換為0.3。更好的定義方式 static const nstimei...

程式設計 多用組合少用繼承原則

一 方法服用的兩種最常用的技術就是類繼承和物件組合。1.繼承復用 子類中可以將父類的方法當作自己的方法使用 非private修飾的 優點 可以通過重寫父類方法,來修改或擴充套件父類方法 缺點 繼承來的方法在編譯期就已經確定,無法在執行期間改變從父類繼承來的方法的行為 子類和父類是強耦合關係,也就是說...