OC第一天:類和對象

⼀、Objective-C概述

歷史:

Objective-C簡稱OC,擴充⾃C語⾔的⾯向對象編程語⾔。
是OS X和iOS操作系統的主要編程語⾔。

時間進度:

1980年初 發明OC語⾔
1988年NeXT 公司使⽤OC開 發
1996年OC成爲 蘋果主要編程 語⾔

OC語⾔的特點:

C語⾔的超集,允許在OC中使⽤C語⾔源代碼,編譯器兼容C語⾔ 程序。
具備完善的⾯向對象特性。
包含⼀個運⾏時系統。
類庫豐富。

⼆、⾯向對象編程

技術介紹:

⾯向對象編程 OOP (Object Oriented Programming )
⾯向對象語⾔:C++,Java,C#
概念:對象、類、封裝、繼承、多態等等

三、類和對象

基本介紹:

類和對象是⾯向對象的核⼼。
定義類,創建對象,使⽤對象。

類:

具有相同特徵和⾏爲的事物的抽象。

對象:

對象是類的實例。
類是對象的類型。
萬事萬物皆對象,例如:⼀只貓,⼀個餅乾,⼀張⽕⻋票, ⼀個⽔杯,⼀個訂單等。

OC中類的定義:

⾯向對象編程中使⽤對象完成程序
開發中:先定義類,再創建對象,然後使⽤對象。
定義類包含兩部分:接⼝部分和實現部分。分開寫。
1. 接⼝部分:對外聲明類的特徵和⾏爲。(類似於說明書)
2. 實現部分:對內實現⾏爲。(內部的具體實現)

接⼝部分

接⼝部分標誌:@interface…@end
作⽤:聲明類的實例變量和⽅法,即特徵和⾏爲。
包含內容:類名、⽗類名、實例變量、⽅法等。

實現部分

實現部分標誌:@implementation…@end
作⽤:實現⽅法,即實現類的⾏爲。

類和⽂件:

類:@interface…@end @implementation…@end
⽂件:.h稱爲接⼝⽂件或頭⽂件,.m稱爲實現⽂件。
默認設 置如下: 
1. 使⽤類名命名⽂件。
2. .h⽂件管理類的接⼝部分;.m⽂件管理類的實現部分 ⽂件和類本質沒有關係

創建對象:

類是模板,對象是具體表現,任何對象都要佔⽤內存空間.
創建對象分兩步:分配內存空間和初始化。
分配內存空間:根據類中聲明的實例變量爲對象分配內存, 將所有實例變量置爲默認值0,並返回⾸地址。
初始化:爲對象的實例變量設置初始值。

創建對象:

分配內存空間:Person * p = [Person alloc];
初始化:p = [p init];
通常這兩部操作需要連寫:Person * p = [[Person alloc] init];
+ (id)alloc; +表⽰這個⽅法屬於類,只能類執⾏。id返回值 類型,表⽰任意類型的對象,即創建好的對象。
- (id)init; -表⽰這個⽅法屬於對象,只能對象執⾏。id返回值 類型,表⽰初始化完成的對象。

使⽤對象:

指針存儲對象的⾸地址,代指對象。OC中使⽤指針代指對 象,進⾏操作。
Person * p = [Person alloc];先執⾏“=”右側
1. [Person alloc]返回值是對象的⾸地址,即對象。
2. p是跟對象同類型的指針變量,存儲對象⾸地址,代指對象。

四、實例變量操作

操作實例變量:

實例變量在初始化只做少量設置,後期還需要進⾏設置。
實例變量區分可⻅度,共三種。
這節課使⽤public @public:實例變量訪問修飾符號(公有)。

五、總結:

⾯向對象和⾯向過程是兩種不同的編程思想,思考⾓度不同,前者以 對象爲中⼼,後者以事件爲中⼼。

類是對象的抽象,對象是類的體現。⾯向對象編程中,先創建出對應 的類,再由類⽣成對象,進⽽完成我們的開發。

類包含接⼝和實現兩個部分,對象創建分兩步:創建對象、初始化。

public修飾的實例變量,可以直接使⽤“—>”訪問

NSIntger 整形  CGFloat 浮點型   NSString *字節型

 instancetype         表示返回一個對象類型

 void * 無類型指針可以轉化任何類型的指針

 id 表示一個對象類型(可以聲明一個對象使用)

 NSString *_name;     //只要是特徵名字就要加下劃線







發佈了33 篇原創文章 · 獲贊 0 · 訪問量 7623
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章