天天看點

Objective-C學習第一天基本的介紹以及架構,類,對象,消息等

1. Objective-C簡介

80年代出現 , C + Smalltalk  == OC

OC ==>  Objective-C 2.0

NeXT :  Unix + UI  ==>  Mac OS  ==> iOS

庫和工具  ==> Cocoa

iOS開發庫和工具 ==>  Cocoa Touch

2. 編譯器

gcc: GNU C Compile

LLVM : Apple LLVM Compile 4.1 

clang : 指令行編譯器

3.各種源程式檔案的字尾名(擴充名)

.c    C語言源程式檔案

.cpp  .ccC++語言

.m  Objective-C

.mm         Objective-C++

.h             頭檔案

.sh           Shell腳本

--------------------------------------------

.a             Unix/Linux  靜态庫檔案

.so           Unix/Linux  共享庫(動态庫)檔案

.o  object檔案,編譯生成的二進制檔案

4.第一個 OC程式

#import <Foundation/Foundation.h> //#include 

Foundation架構(framework 庫) 

NSLog : 日志輸出函數

5.布爾值

C: 用int來當布爾類型使用

0代表邏輯假,非0代表邏輯真。

bool 

OC:

BOOL    YES, NO

YES是1, NO是0,對BOOL變量盡量不要賦其他的值,最好隻給YES/NO.

6. 面向對象程式設計

6.1 基本概念

用解決現實中問題的辦法來解決計算機問題。

6.2 對象 (Object)

Anything is Object

現實中是客觀上的存在。程式中其實是由類建立出來的一片記憶體空間。

對象的特征:

能幹什麼   方法

有什麼      屬性

6.3 類

類型,是一種對客觀事物的抽象,是一種主觀上的認識。

程式中的類是對現實中的對象的一種抽象。是程式員定義的一種資料類型(自定義類型), 是産生對象的模型。

類==>産生對象

類中有什麼:

屬性的定義 : 用變量來表示,叫執行個體變量

方法的定義 : 用函數來表示,叫消息

6.4 定義類

@interface 類名

//屬性的定義

變量類型  變量名;//執行個體變量

//方法的聲明

-(傳回值類型) 方法名 : 參數1 : 參數2;

@end

@implementation  類名

//方法的定義

-(傳回值類型) 方法名 : 參數1 : 參數2

//做事的代碼

@end 

7.建立對象

7.1 OC中對象隻能被建立在堆中。

7.2 NSObject類中,有建立對象的方法。

隻有通過繼承,才可以擷取NSObject中的建立對象的方法。

@interface MyFirstClass : NSObject

@end

7.3 之後,隻要給類發消息alloc,就可以建立出對象來。

發送消息的方式如下:

[類  消息];   ==>[MyFirstClass alloc];

7.4 給對象發消息

[對象 消息]; ==>[first show: 100];

-開頭的方法是執行個體方法,隻響應對象的消息

+開頭的方法是類方法,響應給類發的消息

7.5 執行個體變量

即不是全局變量,也不是局部變量。

每個執行個體(對象)都有一份,在類中相當于全局,任何位置(所有的執行個體方法)都可以通路。

類方法中不可以通路執行個體變量

8. 多檔案程式設計

一個類兩個檔案,一個頭檔案xxxx.h,頭檔案中儲存類的interface部分。另一個是實作檔案xxxx.m.實作檔案中儲存implementation部分,當然得#import "xxxx.h".

如果在程式的某個地方,要使用一個類,就需要該檔案#import類的頭檔案。

附:

class method : 類方法

instance method : 執行個體方法

instance variable : 執行個體變量