OC筆記一:Objective-C簡介,oc筆記objective-c
1、OC簡介
全稱:Objective-C,是擴充C的物件導向程式設計語言,主要用於iOS和Mac OS開發。
- C語言的基礎上,增加了一層最小的物件導向文法
- 完全相容C語言
- 可以在OC代碼中混入C語言代碼,甚至是C++代碼
- 可以使用OC開發Mac OS X平台和iOS平台的應用程式
2、 OC文法概述
2.1關鍵字
每一種語言都有關鍵字,比如C語言的 flaot、int等等,那麼oc有哪些關鍵字呢?
基本上所有關鍵字都是以@開頭
下面列舉一些常見的關鍵字,可以先預覽一下,不用去翻資料尋找它們的含義
@interface、@implementation、@end @public、@protected、@private、@selector @try、@catch、@throw、@finally @protocol、@optional、@required、@class@property、@synthesize、@dynamicself、super、id、_cmd、__block、__strong、__weak
2.2 字串以@開頭
比如@“Hello"是OC中的字串,而"Hello"則是C語言中的字串
2.3 其他文法
2.4 NSLog與printf的區別
- NSLog接收OC字串作為參數,printf接收C語言字串作為參數
- NSLog輸出後會自動換行,printf輸出後不會自動換行set方法和get方法
- 使用NSLog需要#import <Foundation/Foundation.h>
- 使用printf需要#include <stdio.h>
2.5 Foundation架構的作用
開發OC、iOS、Mac程式必備的架構
- 此架構中包含了很多常用的API(應用編程介面)
- 架構中包含了很多標頭檔,若想使用整個架構的內容,包含它的主標頭檔即可
#import <Foundation/Foundation.h>
3、 OC與其他語言的區別
3.1 Objective-C同C的異同:
1、C作為一種結構化語言,層次清晰,便於按模組化方式組織程式,易於調試和維護;Objecive-C擴充了C 語言使它具備物件導向設計的能力,例如類、訊息‘繼承;同時在Objective-C的代碼中可以有C和C++語句,它可以調用C的函數,也可以通過C++對象存取方法;
2、C表現能力和處理能力極強。可以直接存取記憶體的物理地址,進行位(bit)一級的操作;C語言實現了對硬體的編程操作,因此C語言集進階語言和低級語言的功能於一體—既可用於系統軟體的開發,也適合於應用軟體的開發;Objective-C可以實現底層系統編程,另一方面可以支援利用動態架構進行開發。
3.2 Objective-C同C++的異同:
1、單一繼承:
和Java、Smalltalk一樣,Objective-C不支援多重繼承,而C++語言支援多重繼承。
2、動態:
Objective-C是動態定型(dynamicaly typed),它的類庫比C++容易操作。Objective-C 在運行時可以允許根據字串名字來存取方法和類,還可以動態串連和添加類。
4、OC的學習方法
在掌握C語言之後,學習OC是比較輕鬆的。由於OC是物件導向的語言,C語言是面向過程語言,所以學完C語言之後,還需要掌握一些物件導向的知識。只要按照方法得當、循序漸進的學習,就可以學好。OC的學習大致可以分為這些個方面:
1、物件導向編程
2、類和對象
3、建立類和對象
4、set方法和get方法
5、類方法和對象方法
6、self等關鍵字
7、繼承和多態
8、字串簡單的使用
9、分類Category
10、記憶體管理
11、協議代理
12、Block
13、單例
14、ARC
15、字串的使用
16、Foundation架構