OC類和物件 定義類

2021-06-27 23:47:16 字數 1901 閱讀 4547

//  main.m

//  oc物件導向

//  created by goddog on 15/1/2.

1.object-c 支援物件導向的三大特徵:繼承、封裝、多型。

2.提供了@private、 @package 、@protected、@public訪問控制符來實現封裝

1.定義類:<1>.介面部分:a.定義該類包含的成員變數和方法。

b.用@inte***ce宣告定義的介面部分,@end表明定義結束。

c.介面部分的源**應該命名為  *.h檔案

<2>.實現部分:為該類的方法提供實現。

a.實現部分的源**應該命名為 *.m檔案

2.成員變數語法格式:型別成員變數名

<1>.型別:oc允許的任何資料型別,包括基本型別、構造型別、指標型別。

<2>.成員變數名 :建議成員變數用下劃線(_)開頭。

3.方法宣告的語法:<1>方法型別的標識分為+(代表該方法是類方法,類名呼叫),-(代表該方法是例項方法,物件呼叫)。

<2>方法返回值型別:可以是oc任何資料型別,如果沒有返回值用void來宣告沒有返回值。

<3>方法簽名關鍵字:由方法名、形參標籤、冒號組成,如:insertobject:(id)

<4>oc的方法簽名有特殊意義,如foo是乙個不帶形參的宣告方法,foo:是帶乙個形參的宣告方法,

foo:bar:是代表兩個形參的宣告方法。

4.實現部分:<1>實現部分的類名必須與介面部分的類名相同

<2>實現部分也可以在類名後用「:父類」來繼承某個父類(很少這樣做)。

<3>類實現部分也可以宣告自己的成員變數,但這些成員變數只能在當前類中使用。

<4>類實現部分必須為類的宣告部分的每個方法提供方法定義。

#import int main(int argc, const char * argv) 

return 0;

}

//

// person.h

// oc物件導向

//// created by goddog on 15/1/2.

///*

定義部分

*/#import @inte***ce person : nsobject

//定義乙個setname: andage:方法

-(void) setname:(nsstring*) name andage:(int) age;

//下面定義乙個say方法,並不提供實現

-(void) say:(nsstring *) content;

//下面定義乙個不帶形引數的方法

-(nsstring*) info;

//定義乙個類方法

+(void) foo;

@end

//

// person.m

// oc物件導向

//// created by goddog on 15/1/2.

///*

實現部分

*/#import "person.h"

@implementation person

//實現乙個setname: andage: 方法

-(void) setname:(nsstring *)name andage:(int)age

//下面實現了乙個say方法

-(void) say:(nsstring *)content

//下面實現了不帶形參的info方法

-(nsstring*) info

//定義乙個只能在實現部分使用的方法(被隱藏的方法)

-(void) test

//實現了乙個類方法

+(void) foo

@end

OC 物件導向,類和物件

面向過程,c語言是一門面向過程語言,關注的是如何解決問題,需要哪些步驟 物件導向,oc是一門物件導向語言,關注的是解決問題需要哪些物件。可以對類進性操作也可以對物件進行操作,即方法,同乙個方法可以應用於不同多個物件。classorinstance method 對類和例項應用方法 inte ce 部...

OC物件導向和類

1 物件導向和面向過程 物件導向,簡稱oop,它是以事物為中心,參與事件的事物是核心,完成事件只是事物的乙個小任務。面向過程,簡稱opp,它是以事件為中心,事件是核心,列出了完成事件的每乙個步驟,一步一步完成。也就是物件導向側重於從問題在尋找客體 客體的作用。客體間的關係即 誰 做什麼 怎麼做 面向...

OC基礎 類和物件

1.oc1 oc是物件導向 關注的是解決問題需要哪些物件。2 和c程式一樣,oc也需要通過編譯和鏈結兩個步驟。終端指令 以main.m為例 編譯 cc c main.m 執行 a.out 3 關鍵字以 開頭,字串以 開頭,其他基本語法 4 和c語言一樣,oc程式的入口依然是main函式。5 nslo...