OC 基礎之 類和物件,方法

2021-07-03 19:07:37 字數 2314 閱讀 1330

1.oc:object-c, 物件導向的 c語言,簡稱oc.

oc和 c 的區別:

1⃣️oc 是 c語言的超集, oc 是在 c語言的基礎上結合 samlltalk的優點,開發出來的語言.oc 相容所有的 c語言的語法.

2⃣️oc擴充套件了物件導向的思想

3⃣️執行時特性

4⃣️有豐富的類庫

oc的學習方法:

2⃣️看官方文件

3⃣️寫部落格,寫日誌(印象筆記)

4⃣️oop(object oriented programming)

2.oc物件導向的三大特徵:封裝,繼承,多型

oc的核心:類和物件是 oc 的核心.

類的概念:類就是具有相同特徵和行為事物的抽象.

物件就是乙個類的具體化,實實在在的東西,能摸得著看得見的事物.

萬事萬物皆物件.

物件是類的例項,類是物件的抽象.

oc中類是怎麼實現的?

3.建立類(建立的類相當於一種新的資料型別)

1⃣️cocoa touch class 模板,建立類.會生成一對檔案. h檔案和. m檔案

2⃣️.h檔案中寫的類的宣告部分,包括類的特徵和行為的宣告(方法的宣告)

3⃣️.m檔案中寫的是行為的實現(方法的實現)

4.用建立的 person類,建立出乙個物件(建立乙個物件包括兩步)

1⃣️開闢記憶體空間(使用 alloc 開闢記憶體空間)alloc 的作用是開闢記憶體,中括號的作用是:呼叫方法, alloc 建立出來的乙個物件都會新增乙個預設的指標(isa)

2⃣️初始化

person *p = [[person alloc]init];

person *p= [person alloc];

上面呼叫的alloc方法會返回分配好記憶體的student物件,在等號左邊用了乙個指向person型別的指標變數p來接收這個物件,注意p左邊的*

號。所有oc物件都是用指標變數來接收的,如果你不了解指標,你記住下面這點就行了:利用類名定義乙個變數時,類名後面一定要帶個*號.

p = [p init];

由於init是動態方法,所以這裡使用p變數來呼叫,並不是使用類名來呼叫。init會返回已經初始化完畢的物件,再次賦值給了p變數。這時候的person物件p才能正常使用。

可以使用—>:指向操作符,對類成員變數進行操作(類成員變數必須是@public)

呼叫物件方法,要用中括號;

[p eat];

5.在建立類方法的時候:

帶引數的方法,引數型別是 nsstring, (:)冒號也是方法的一部分.

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

instancetype和 id都是範型別,也就是可以指任何型別.

self 是指自己,誰呼叫了這個方法,我就返回誰.

方法的實現寫在. m檔案中,@ implementation 與@ end 之間寫方法的實現

(-)標識的是例項的方法(動態方法),(+)標識的是類的方法(靜態方法).

在. h和.m 檔案中可以放多個類.

.h檔案中只能放類的宣告部分,類的實現是不能放在. h檔案中的.

類的宣告和實現在一對. h和. m檔案中,和檔名沒有關係.

6.nsobject 是所有型別的基類(父類)

類的特徵和方法一定要寫在@ inte***ce 和@ end 之間

nsstring 是 oc中的字串, nsstring 不是基本資料型別,宣告的時候要加(*)

nsinteger 是基本資料型別,在宣告的時候是不需要加(*)的

7.如果乙個成員的變數的作用域是@ protected, 外界不能直接訪問它.為了保證資料的封裝性,我們可以提供 age的 get 方法和set 方法,讓外界間接訪問 age.

@inte***ce student :nsobject

@protected

int age;

@end

-(int)age;

-(void)setage:(int)newage;

在 oc 方法中,乙個冒號:對應乙個引數.而冒號(:)也是方法名的一部分,

-(void)setage:(int)newage andheight:(float)newheight;

方法名為: setage: andheight:

get 和 set方法的實現:

-(int)age

-(void)setage:(int)newage

-(void)setage:(int)newage andheight:(int)newheight

oc 中有個自動化方法:

使用@proterty 和@ synthesize關鍵字

java基礎之類和物件

1,物件 分為 靜態部分和動態部分,人類通過 物件的屬性和觀察物件的行為了解物件 1.類 類是封裝物件屬性和行為的載體,具有相同屬性和行為的一類實體被稱為類,2.封裝 將物件屬性和行為封裝起來,其載體是類,類通常對客戶隱藏其實現的細節,封裝的思想。3.繼承 類與類之間具有同樣關係,類之間的這種關係 ...

黑馬程式設計師 OC之類和物件

類 類是抽象的 物件 物件是具體 ios培訓 android培訓 期待與您交流!1 設計乙個類的步驟 1 類名,2 屬性,3 行為 功能 1 擁有相同屬性和行為的類都可以抽象出乙個類 2 設計乙個植物大戰殭屍中的殭屍 1 類名 zoombie 2 屬性 life speed gongjili 3 行...

OC基礎 類和物件

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