1:obect c 與 c 語言的區別(1
) 字尾名不一樣,c語言是.c 結尾 ,oc 是 .h結尾。(2
) 輸出資訊不同 c語言是用print() 輸出,oc 是用nslog輸出。(3
) nslog會自動換行,並且還有時間戳輸出,二print沒有(4
) 匯入宣告[檔案]不一樣 oc 是用import,而c語言是用include
2: import和 include的區(1
) import只匯入一次乙個檔案就不會重複匯入,include 可以重複匯入同乙個檔案
3:oc建立類的語法(1
) 類的宣告
@inte***ce
one[類名]: nsobject
#這裡寫方法的宣告 oc中方法的宣告
1:物件方法以 『-』 號 開頭 2
:資料型別一定要用小括號括住 3
:oc方法中的小括號就乙個作用 ,就用來括住資料型別
無引數宣告方法格式如: -(返回型別) 方法名;
- (void) tets1; //
宣告乙個無引數無返回型別的方法
-(int ) test2; //
宣告乙個無引數有返回型別為int 型別的方法
有引數宣告方法格式[注意點冒號也是方法名的一部分]:
- (返回型別) 方法名:(引數型別 *)引數名稱
-(void) test3 :(char *)nub;
-(void) test4(char *)nub1 :(char *)centen; //
多個引數 以 : 相間隔
@end
//宣告結束
(2) 類的實現
@implementation
one[類名]
#這裡寫實現方法的宣告 格式跟函式的宣告乙個
實現格式如:
(1)無引數
-(void
) test1(2
) 有引數
-(void)test3:(char *)nub
-(void)test4:(char *)nub :(char *) coent
@end(3
) 類的例項化和呼叫方法屬性
int main(
int argc, const
char *ar**)
4:oc語言的注意點
1.只有類的宣告沒有實現
2.缺少@end
3.不能把實現寫到宣告中同理,宣告也不能寫到實現中,不能巢狀
4.不能把類的宣告實現寫到函式中
5.成員變數必須寫到宣告的大括號中
6.宣告成員變數不能直接賦值
7.oc的弱語法:注意,沒有宣告同樣可以定義乙個類,(實際開發中千萬不要這樣幹)
/*f 經典錯誤:
'-[person run]: unrecognized selector sent to instance 0x100103410'
沒實現這個方法的經典錯誤。
*/5:oc 中字串的使用(1
) 建立乙個簡單的字串並輸出
nsstring *str1=@」我是字串1」;
nslog(@「%@」,str1);(2
) 字串格式化
nsstring *str2=[nsstring stringwithformat:@」身高%d,體重%.2f」,sg,tz]
nslog(@」%@」,str2);(3
) 計算個數
nsstring *str3=@」我是中國人」;
int count=[str length];
6:類方法與物件方法 (1
)物件的方法是與 減號 開頭 類的方法是以 加號開頭(2
)物件的方法呼叫方式[是以物件去呼叫方法]
test1 *p=[test1 new
]int sum1=[p nb1:10 nb2:20];(
3)類的方法呼叫方式[是以類名呼叫方法]
int sum2=[test nb1:10 nb2:20];(
4) 當方法不使用成員變數的時候就盡量使用類方法[少開闢空間,節省記憶體](5
) 類方法不能訪問成員變數[實力變數 也就是物件]
7:繼承 (
1) 子類繼承了父類的成員變數和方法(2
) new方法是父類中繼承過來的(3
) 如果在子類中實現了和父類中同名同型別的方法,我們稱之為重寫(4
) 在繼承當中呼叫方法,首先會在本類中找,如果本類沒有找到就去父類中找(5
) 在子類中不僅可以重寫父類當中的物件方法,也可以重寫父類當中的類方法
(6) 子父類中的方法呼叫順序:現在本類中找,如果本類沒有再到父類中找,如果父類中沒有,就到爺爺類中找 nsobject是99.9%的類的父類
(7) oc 不支援多繼承[也就是說只有乙個父類] 支援多層繼承 [父->子->孫]
8:多型 (
1) 什麼是多型:多型就是某一類事物的多種形態(2
) 沒有繼承就沒有多型(3
) 用父類型別的指標指向了子類物件,這就是多型
9: oc訪問成員變數格式
(1) 類名 *p=[類名 new
]p->屬性=值;
(2)p.屬性=值;
10:成員變數的作用域
public:公共的 在其他資料夾中也可以訪問
private:私有的 在其他檔案下不能訪問 只是在本類中使用。
protected 受保護的 在其他資料夾中不能訪問 在本類中可以訪問
11:自動設定get/set
屬性
@synthesize
屬性 ;[在類的實現中寫,前提是你已經宣告了這個屬性]
12: protected
作用
自動生成get/set 屬性 格式:@public
int _no;
oc基礎語法 oc特有語法(1)
1 根據以前學的,呼叫方法是這樣的 student stu student new stu setage 100 int age stu age 如果用點語法,這樣就可以呼叫了 stu.age 100 int age stu.age 2 點語法的本質 其實點語法的本質還是方法呼叫,當使用點語法時,編...
OC基礎語法 2
oc當中塊的思想 塊是c,objective c和c 等程式語言中的高階功能,它允許建立不同的 段,這些 段可以傳遞給方法或函式,就像它們是值一樣。塊是objective c物件,因此它們可以新增到nsarray或nsdictionary等集合中。它們還能夠從封閉範圍中捕獲值,使其類似於其他程式語言...
語法基礎 簡單的oc程式
作為菜鳥不知道從 找到的一些資料先寫下,先介紹一些oc語言的一些特點。1 在c語言的基礎上,增加了一層最小的物件導向語法 2 完全相容c語言 3 可以在oc 中混入c語言 甚至是c 4 可以使用oc開發mac os x平台和ios平台的應用程式 首先,要執行乙個oc程式必須經過原始檔經過編譯成目標檔...