一.模組和物件
1.類和物件的區別:
(1)具備相同變數和方法的物件,做成模版,則稱為類乙個類可以例項化成多種不通的物件,類裡面則包含的這些物件的共有特性
(2)物件也就是類的例項化,類只有例項化成物件,才可以展示出來
(3)eg:鳥是乙個類,可以例項化成老鷹,烏鴉等不 同的物件
2.訊息傳遞:訊息傳遞是物件之間通訊的唯一手段
3.物件:
(1)屬性:一般被定義為指向其他物件的指標,也稱為例項變數
(2)方法:物件收到訊息後,會對訊息進行解析和內部的處理並返回出結果,其中的處理方法則稱為方法
4.類的定義和介面
(1)類的介面:類中會將可以公開給外部的資訊放在類的介面
(2)類的實現:類的實現中的資訊是屬於私有的,外部是不可見的
二.oc中簡單類中的語法
1.訊息表示式
訊息選擇器是通過訊息名來進行區分的
[obj msg1]
;//向物件obj傳送訊息msg1
[[obj msg1] msg2]
;//用上面的訊息的返回值作為訊息接受者傳送訊息msg2
[obj msg1變數1
: 引數1 變數2
:引數2
];
訊息名的命名規則:
第乙個單詞以小寫字母開頭,後面每個單詞的首字母都要大寫
2.物件的生成和初始化
(1)完成物件所需要空間的分配
[類名 alloc]
;
(2)完成物件的初始化:初始化不具備重置的功能
[類名 alloc]init]
;
3.類的定義和介面
(1)類的介面宣告:寫在.**件中,為外部提供公有的介面變數和方法的宣告
@inte***ce 類名 : 父類名
-(id)initwithobject:
(id)obj;
- initwithobjecr:
(id)obj;
//方法的宣告:上述兩種宣告方法是一樣的,當沒有寫返回值的方法會預設返回id型別的
@end
(2)類的實現:寫在.m檔案中,包含了介面中部分宣告方法的實現以及類內私有變數的初始化以及私有方法的實現
@implemention 類名//可以不需要寫父類,但介面必須寫
//方法的實現
-(id)min
@end
(3)self:例項物件自身,可支援賦值操作以及作為返回值,也可以呼叫類的例項變數和例項方法
[self 方法]
;
4.靜態變數
(1)生命週期:從程式開始到程式結束
(2)多個物件共享乙個靜態變數
(3)可用作物件之間傳遞訊息和資訊共享
5.標頭檔案的引入
相比於#include的好處:可以防止同乙個檔案被重複引用
#import 「自己的標頭檔案」
#import
《系統提供的標頭檔案》
OC物件導向語法《一》
oc是物件導向的,c是面向過程的。物件導向和面向過程只是解決問題的兩種不同思想 1 以用電腦聽歌為例子 a 面向過程 開啟電腦 關閉電腦 b 物件導向 不是相親的 物件 電腦 開機 關機 2 區別分析 面向過程關注的是解決問題需要哪些步驟 物件導向關注的是解決問題需要哪些物件 沒有開發經驗很難感受到...
4 OC語法 關聯物件
新增關聯物件 id object 要關聯的物件 const void key 關聯屬性的key id value 要關聯的屬性值 objc associationpolicy policy 策略 void objc setassociatedobject id object,const void k...
oc基礎語法 oc特有語法(1)
1 根據以前學的,呼叫方法是這樣的 student stu student new stu setage 100 int age stu age 如果用點語法,這樣就可以呼叫了 stu.age 100 int age stu.age 2 點語法的本質 其實點語法的本質還是方法呼叫,當使用點語法時,編...