亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > iOS > 正文

淺析Objective-C的程序結構及面向對象的編程方式

2020-07-26 03:21:58
字體:
來源:轉載
供稿:網友

Objective-C程序的結構
就像學習所有編程語言一樣,第一個程序就是在屏幕打印出“Hello World !”。

我看的書上用到的編譯器還是比較老的,我現在用的是Xcode4.2.1,它有自動內存管理,所以書上的一些程序也許會報錯。可以在創建工程時不選擇Use Automatic Reference Counting選項解決這個問題。

運行Xcode,新建一個Command Line Tool工程,取名FirstProgram。

201642290837487.jpg (711×466)

在下一步,我們也取消Use Automatic Reference Counting選項。

不管自動生成的代碼是什么樣的,我們將代碼改成以下:

復制代碼 代碼如下:

//First Program Example
#import <Foundation/Foundation.h>
int main (int argc, const char * argv[]) {
    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
    NSLog(@"Hello, World!");
    [pool drain];
    return 0;
}

運行,顯示如下:

201642290929362.png (411×55)
以下是對這段代碼的簡單說明:

1、程序第一行是注釋,跟C/C++/Java一樣,Objective-C注釋也可以用 //、/*??*/來實現。

2、#import <Foundation/Foundation.h>

告訴編譯器找到并處理名為Foundation的文件。

3、int main (int argc, const char * argv[])

指定程序名稱為main,這是一個特殊名稱,表示程序開始的地方。

4、NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];

為自動釋放池在內存中保留了空間。

5、NSLog(@"Hello, World!");

指定要調用名為NSLog的例程。傳遞給NSLog的參數是字符串@"Hello, World!",它是一個NSString對象。

6、[pool drain];

用于釋放已分配的內存池,以及與程序相關聯的對象。

類、對象和方法
1、實例和方法

(1)使用類創建一個實例:

復制代碼 代碼如下:

yourCar = [Car new];

這里的Car是一個類,yourCar是一個對象

(2)對類和實例應用方法:

復制代碼 代碼如下:

[ClassOrInstance methed];

類或實例的名稱要緊跟“[”,“];”用于終止。這條語句相當于Java中的:對象名.方法名

再如:

復制代碼 代碼如下:

currentMileage = [yourCar currentOdometer];

其中,currentMileage用于接收返回值

2、一段詳細代碼及說明:

復制代碼 代碼如下:

#import <Foundation/Foundation.h>

//@interface section
@interface Fraction : NSObject {
    int numerator;
    int denominator;
}
-(void) print;
-(void) setNumerator: (int) n;
-(void) setDenominator: (int) d;
@end


復制代碼 代碼如下:

//@implementation section
@implementation Fraction
-(void) print {
    NSLog(@"%i/%i",numerator,denominator);
}
-(void) setNumerator:(int)n {
    numerator = n;
}
-(void) setDenominator:(int)d {
    denominator = d;
}
@end

復制代碼 代碼如下:

//program section
int main (int argc, const char * argv[])
{
    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
    Fraction *myFraction;
    myFraction = [Fraction alloc];
    myFraction = [myFraction init];
       
    [myFraction setNumerator: 1];
    [myFraction setDenominator: 3];
       
    NSLog(@"The value of myFraction is: ");
    [myFraction print];
    [muFraction release];
    [pool drain];
    return 0;
}

(1)第4行是聲明一個類的方法,@interface 新類名:父類名

(2)第8~10行定義了三個方法,其中“-”表示實例方法,“+”表示類方法。

實例方法總是可以訪問它的實例變量,而類方法卻不行,因為類方法只處理類本身,而不處理類的任何實例

(3)第31~32行可以合并成

復制代碼 代碼如下:

myFraction = [[Fraction alloc] init];

或者
復制代碼 代碼如下:

myFraction = [Fraction new];

(4)第39行用于為對象myFraction釋放內存,值得注意的是,最新的Xcode編譯器可以實現自動釋放內存

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩免费精品视频| 久久精品一区中文字幕| 国产美女高潮久久白浆| 久久视频精品在线| 国产日韩欧美夫妻视频在线观看| 欧美国产欧美亚洲国产日韩mv天天看完整| 欧美激情乱人伦一区| 亚洲美女av黄| 亚洲老头老太hd| 国产中文日韩欧美| 国产精品日日做人人爱| 亚洲第一网站男人都懂| 亚洲国产精彩中文乱码av在线播放| 97国产在线观看| 亚洲精品美女久久久久| 国产视频丨精品|在线观看| 国产欧美久久一区二区| 国产午夜精品一区二区三区| 精品成人69xx.xyz| 国产一区二区在线免费| 成人精品网站在线观看| 亚洲精品一区二区三区婷婷月| 欧美在线中文字幕| 国语自产精品视频在免费| 亚洲人在线观看| 亚洲欧美另类自拍| 精品久久久久久亚洲精品| 国产精品免费视频久久久| 国产美女扒开尿口久久久| 精品国产欧美一区二区五十路| 精品成人69xx.xyz| 国产精品一区电影| 久久久精品一区二区三区| 91精品国产成人www| 欧美丝袜美女中出在线| 欧美成人精品在线视频| 国产a∨精品一区二区三区不卡| 成人午夜一级二级三级| 久久久黄色av| 国产一区二区成人| 91九色精品视频| 欧美日韩中国免费专区在线看| 国产精品亚洲激情| 国产精品偷伦视频免费观看国产| 国产精品久久久久久久久久东京| 国产成人综合av| 成人在线中文字幕| 日韩精品黄色网| 久久精品国产欧美亚洲人人爽| 国产精品女视频| 国产精品一区二区在线| 国产丝袜一区二区三区免费视频| 欧美性极品少妇精品网站| 日韩女优在线播放| 国产精品视频久久久久| 亚洲a中文字幕| 在线视频欧美性高潮| 久久久久久久久综合| 国产精品三级美女白浆呻吟| 日韩欧美一区二区三区久久| 国产经典一区二区| 欧美成人午夜激情| 日韩精品极品在线观看播放免费视频| 国产在线视频一区| 欧美日韩中文在线| 国产精品久久久久久久久粉嫩av| 久久福利视频网| 日韩福利在线播放| 亚洲福利影片在线| 亚洲成人xxx| 日韩中文字幕在线观看| 自拍偷拍亚洲在线| 欧美精品电影免费在线观看| 日韩精品中文字幕有码专区| 91精品国产一区| 成人黄色av免费在线观看| 亚洲精品自产拍| 国产精品一区二区电影| 欧美在线中文字幕| 亚洲性视频网址| 亚洲国产精品va在线看黑人| 国产精品中文久久久久久久| 久久久久久有精品国产| 最近2019年日本中文免费字幕| 日韩大陆欧美高清视频区| 日韩欧美一区二区在线| 日韩在线观看网址| 日韩在线观看免费高清完整版| 青草成人免费视频| 亚洲美女在线看| 国产精品第一第二| 日韩有码在线播放| 国产va免费精品高清在线观看| 成人在线视频福利| 91精品国产免费久久久久久| 精品亚洲va在线va天堂资源站| 欧美疯狂性受xxxxx另类| 亚洲第一中文字幕在线观看| 久久影视电视剧免费网站| 欧美性猛交99久久久久99按摩| 18久久久久久| 久久人人爽人人爽人人片av高清| 正在播放欧美视频| 亚洲精品丝袜日韩| 久久久999国产| 国产精品视频公开费视频| 91精品国产九九九久久久亚洲| 国产精品旅馆在线| 亚洲国产欧美精品| 色综合五月天导航| 成人a在线观看| 日韩资源在线观看| 成人美女av在线直播| 亚洲欧美激情精品一区二区| 91亚洲精华国产精华| 国产日韩欧美在线视频观看| 日本久久久久久久| 91久久国产婷婷一区二区| 国产婷婷97碰碰久久人人蜜臀| 91精品国产综合久久久久久久久| 57pao成人永久免费视频| 国产91九色视频| 成人国产精品日本在线| 成人国产精品一区二区| 美日韩在线视频| 亚洲国产精品va在看黑人| 亚洲综合在线播放| 中文字幕亚洲无线码a| 日韩电影在线观看永久视频免费网站| 欧美第一黄网免费网站| 国产有码在线一区二区视频| 色与欲影视天天看综合网| 成人av电影天堂| 精品国产鲁一鲁一区二区张丽| 久久精品视频99| 亚洲影影院av| 亚洲一区二区三区香蕉| 成人午夜激情网| 97视频在线播放| 国产日韩欧美夫妻视频在线观看| 亚洲电影免费观看高清完整版在线观看| 久久久久久com| 啊v视频在线一区二区三区| 国产精品mp4| 成人中心免费视频| 一区二区三区精品99久久| 国内精品美女av在线播放| xxxx欧美18另类的高清| 欧美一区二区大胆人体摄影专业网站| 国产精品日韩欧美| 精品福利在线观看| 亚洲精品91美女久久久久久久| 日本亚洲欧洲色| 亚洲美女免费精品视频在线观看| 78m国产成人精品视频| 亚洲福利在线看| 欧美成在线观看| 97福利一区二区| 欧美成人一区在线| 97国产在线视频| 国产精品久久久久9999| 成人激情视频在线播放| 国产成人激情小视频| 欧美性极品xxxx娇小|