4.6 全域性變數、區域性變數、成員變數的區別
4.7 函式和方法的區別
4.8 常見錯誤
物件導向
類的使用主要分為以下幾個步驟
實現類
建立物件
使用物件呼叫屬性和行為(方法)
oc中使用以下**宣告類
// nsobject 是為了讓我們的iphone類具備建立物件的能力
@inte***ce iphone : nsobject
// oc類宣告中屬性只能寫在 @inte***ce 和 @end 直接的大括號中,編寫oc類屬性時,建議將所有屬性的名稱前面都加上_
// 行為
/*行為沒有引數,不需要寫(),在oc中,括號有特殊用途,括號中主要放資料型別
- 表示物件方法 + 表示類方法
*/// 沒有返回值,沒有引數
- (void)about; // - 表示物件方法 + 表示類方法
// 有返回值,沒有引數
- (char *)loadmessage; // 讀取簡訊息
// 有返回值,有引數
- (bool)call:(int)number; // 打**
// 有返回值,有多個引數
- (bool)sendmessage:(int)number :(char*)message; // 發簡訊
@end
使用以下**實現類,實現類的時候需要實現宣告類中的行為,不需要實現類屬性
@implementation iphone
// 行為的實現
- (void)about ;
- (char *)loadmessage
- (bool)call:(int)number
- (bool)sendmessage:(int)number :(char *)message
@end
在oc中想要通過乙個類建立物件,必須給類傳送乙個訊息:[類名稱/物件名稱 方法名稱];
只要通過乙個類呼叫類的new方法,也就是給類傳送乙個叫做new的訊息之後,系統內部就會做3件事:
iphone *iphone = [iphone new];
oc中的類其實本質就是乙個結構體,所以iphone這個指標其實就是指向了乙個結構體,可以使用指標名稱->屬性名訪問
nslog(@"iphone->_cpu --> %i", iphone->_cpu); // iphone->_cpu --> 0
iphone->_cpu = 10;
nslog(@"iphone->_cpu --> %i", iphone->_cpu); // iphone->_cpu --> 10
// 呼叫物件方法
[iphone about]; // 型號: 0.000000, cpu: 10, size: 0.000000, color: 0
char *msg = [iphone loadmessage];
nslog(@"%s", msg);
int number = 123;
bool flag = [iphone call:number];
if (flag)
[iphone sendmessage:123456 :"快來上班吧"];
4.5.1 類方法的應用場景
如果方法中沒有使用到屬性(成員變數),那麼能用類方法就用類方法。類方法的執行效率比物件方法高
類方法一般用於定義工具方法
4.6.1 全域性變數
4.6.2 區域性變數
4.6.3 成員變數4.7.1 函式
4.7.2 方法
物件導向基礎
什麼是物件導向程式設計?就是把萬事萬物都抽象成為物件,一切都是物件!什麼是抽象?抽象是從眾多的事物中抽取出共同的 本質性的特徵,而捨棄其非本質的特徵。例如蘋果 香蕉 生梨 桃子等,它們共同的特性就是水果。得出水果概念的過程,就是乙個抽象的過程。要抽象,就必須進行比較,沒有比較就無法找到在本質上共同的...
物件導向基礎
我想在這個園子裡面的新人,還是 掌門人 都對 物件導向 這幾字非常的耳熟了或者有一定的了解。但當乙個初學都在學習物件導向的時候,會遇到一些瓶頸和麻煩,認為物件導向非常的難以理解。那麼本章節主要是讓大家了解物件導向,並系統地掌握物件導向程式設計的技能點,消除初學者的疑惑.1 如何去學習物件導向的程式設...
物件導向基礎
uml是一種標準的圖形化建模語言,是物件導向分析與設計的一種標準表示 類圖是用來描述類以及類與類之間關係的一種uml圖 類圖描述的關係包括關聯,範化,依賴,實現等 只要類與類之間存在關聯關係就可以用普通關聯來表示 比如 描述人和計算之間的關係 帶 的一端表示關聯的發起方,箭頭表示關聯的方向 0.1 ...