首先,為什麼我們要定義一個新類呢?按照我的理解,就是為了抽象出來一個新的東西(也就是類),用來存儲更多的數據變數和方法,一切類都直接或間接繼承與NSObject。 在類的頭文件里我們可以定義成員變數、屬性變數、和方法,在方法里又分為實例方法和類方法。 1.成員變數 成員變數可以以三個關鍵詞來修飾,即 ...
首先,為什麼我們要定義一個新類呢?按照我的理解,就是為了抽象出來一個新的東西(也就是類),用來存儲更多的數據變數和方法,一切類都直接或間接繼承與NSObject。
在類的頭文件里我們可以定義成員變數、屬性變數、和方法,在方法里又分為實例方法和類方法。
1.成員變數
成員變數可以以三個關鍵詞來修飾,即public、protected、private,用public來修飾的變數為共有的,外部可以訪問子類可以繼承
用protected來修飾的變數是受保護型的,外部無法訪問子類可以繼承(成員變數預設為protected);
用private來修飾的變數為私有的,外部無法訪問子類無法繼承;
2.屬性變數
創建一個屬性變數系統主要會幫我們做兩件事,第一,為這個屬性提供一個set方法和一個get方法,第二,會為我們創建一個變數名為“_變數名”
的成員變數。如上,創建的成員變數名為_scholl 和 _score;(property屬性還有很多其他知識點,這裡不詳述,可以參考我的另一篇對於property的一些用法)。
3.實例方法和類方法
實例方法也稱對象方法,它必須要用對象去調用這個方法,也就是說要有記憶體了才能去調用這個方法;
類方法的調用不需實例話,可以直接調用這個方法,也就是說類方法不必占用記憶體就能調用,類方法通常用於封裝一些實現的方法,數據等;
在類方法中不要去調用這個類的成員變數,屬性變數和對象方法。
類方法和對象方法的調用區別如下:
最後:必須提醒一下,要在另一個類裡面用到這個類的方法或者是變數就必須在那個類中導入這個類的頭文件。