成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Objective-C面向對象初體驗

移動開發 iOS
Objective-C面向對象初體驗是本文要介紹的內容,主要是來了解面向對象語言Objective-C,這里沒有細節的語法,大都是關于Objective-C面向對象概念理解的東西。

Objective-C面向對象初體驗是本文要介紹的內容,主要是來了解面向對象語言Objective-C,這里沒有細節的語法,大都是關于Objective-C面向對象概念理解的東西,來看詳細內容講解。

1、前言

語言其本質上都是某種抽象,不管是現實生活中人們交流的語言,還是計算機語言.

2、對象

在Objective-C中,所有的對象都有一個共同的特征,就是每一個對象都包含一個isa指針.這個指針指向當前對象所屬的類.

Objective-C面向對象初體驗

Objective-C中存在一個名為id的類型,這個和上面所說這個isa指針有一定的聯系.

C代碼 

  1. typedef struct objc_object {     
  2. Class isa;     
  3. } *id;    
  4. typedef struct Objective-C_object {  
  5. Class isa;  
  6. } *id;   

其中Class類型為指向objc_class結構體的指針類型.

這些對象在內存中都是由其地址唯一標示,所有的對象都是id類型的.

我們繼續來將這個isa指針,通過isa指針我們可以在運行的時候知道當前對象是屬于什么Class的,

對象的內存管理:

在Objective-C中,存在兩種內存管理的方式

一種是基于引用技術的,在這種情況下,程序員需要時刻注意內存的申請和釋放,以免發生內存泄露.

還有一種是垃圾回收,學過Java的同學都知道java的垃圾回收,使得程序員從繁雜容易出錯的內存釋放工作中得到解放.

目前在Pihone的開發環境中不支持垃圾回收的方式.

3、消息

消息這個概念是比較特殊的,在其他的一般的計算機語言中都叫做方法調用或者函數調用,但在Objective-C中,很形象的叫做消息,在語法上也和別的語言的函數或者方法差別很大.

在我們現實生活中,人和人進行溝通就是通過不同形式的消息進行的,比如說郵件,首先得有接受者,然后將消息內容通過郵件發送給接受者.

如果將上面的情景用Objective-C的消息語法描述出來差不多是這樣的

[郵件接受者  郵件:郵件內容]

我們將郵件接受者稱為receiver,郵件:郵件內容的整體稱作message

  1. [Receiver message] 

如果將message再分解,我們可以寫成下面的

  1. [Receiver selector:argument] 

這種情景在別的語言中就是調用recevier這個對象的某個方法

這里的selector為方法名,他在消息發送的時候,會”選擇”一個方法的實現來運行,所以這里的方法名被稱作為選擇器

而且這里的selector也是Objective-C實現多態的關鍵所在.

4、類

在Objective-C中,類只支持單繼承.

在程序運行的時候,編譯器會自動根據你的類定義生成一個”類對象”,這個”類對象”是類實例對象的原型,它知道如何去創建屬于這個類的實例對象.

實例對象擁有各自變量屬性,而方法都是共享的.

“類對象”的type都為Class,上面有提到過Class類型為指向objc_class結構體的指針類型.

在Objective_C中NSObject類是一個根類。

小結:Objective-C面向對象初體驗的內容介紹完了,希望本文對你有所幫助!

責任編輯:zhaolei 來源: 互聯網
相關推薦

2012-06-15 09:47:48

Objective-CCategory

2011-06-17 17:27:29

Objective-CCocoa蘋果

2011-08-04 11:04:14

Objective-C 面向對象 繼承

2011-07-18 16:48:02

Cocoa Objective-

2011-07-19 17:24:31

Objective-C 對象

2011-08-17 11:05:22

Objective-C方法

2011-08-10 18:07:29

Objective-C反射

2013-06-20 10:40:32

Objective-C實現截圖

2013-03-27 12:54:00

iOS開發Objective-C

2011-05-11 15:58:34

Objective-C

2011-05-11 11:20:26

Objective-C

2011-08-04 13:32:21

Objective-C 方法 對象

2011-05-11 13:54:08

Objective-C

2011-05-11 15:45:50

內存管理Objective-C

2011-08-02 13:16:36

Objective-C 語法 函數

2011-08-04 11:15:46

Objective-C 構造函數 構造方法

2011-05-11 14:06:49

Objective-C

2011-08-04 14:58:37

Objective-C Cocoa NSString

2013-08-21 14:57:42

objective-c問題

2011-08-03 16:55:05

Objective-C 代理
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久成人免费视频 | a黄毛片 | 国产综合久久久久久鬼色 | 羞羞视频在线免费 | 81精品国产乱码久久久久久 | 免费午夜电影 | 天天影视网天天综合色在线播放 | 九九热在线视频免费观看 | 六月色婷| 成人做爰www免费看 午夜精品久久久久久久久久久久 | 一本大道久久a久久精二百 欧洲一区二区三区 | 中文字幕成人免费视频 | 可以在线观看av的网站 | 三区在线观看 | www网站在线观看 | 国产精品永久久久久久久www | 亚洲精品久久久一区二区三区 | 久久精品99 | 亚洲一区二区在线视频 | 做a网站 | 日本不卡一区二区三区 | 波多野结衣一区二区三区 | 国产日韩欧美在线观看 | 亚洲成人精品免费 | 日韩成人高清 | 国产精品天堂 | 成人亚洲 | 亚洲精品一区二区 | 国产精品揄拍一区二区 | 激情影院久久 | www.日本在线 | 狠狠视频 | 99精品视频免费在线观看 | 毛片网站在线观看 | 国产精品视频久久久 | 久久国产精品一区 | 最新91在线 | 久久机热 | 一区二区三区欧美在线 | 欧美区在线 | 国产精品久久国产精品 |