tft每日頭條

 > 圖文

 > objective-c 基本語法

objective-c 基本語法

圖文 更新时间:2024-12-05 11:42:05

很多Objective C的教程,都沒能很好的講解面向對象編程中,定義函數,參數,我今天畫個圖給大家講一下。

objective-c 基本語法(ObjectiveC細節講解)1

方法實現的具體講解

首先,我們先定義個class 的interface, interface是一個抽象層,我們的class裡面有哪些方法,這裡全都可以看到。@interface 是定義抽象的開始,@end是定義結束

需要注意,在interface 定義,你可能會看到 号,和減号-, 加号表示,這是個靜态方法,不必要初始化實體,可以直接調用靜态方法;而➖ 号開始,表示這是一個類的字方法,你得初始化類實體,然後才能調用類的具體方法。

interface裡面的定義是怎樣的,@implementation 實現中的方法名,參數也是得一緻的,下面的示例代碼會展示的很清晰。interface和implementation是嚴格對應的。

具體業務實現代碼,是在@implementation 裡面寫代碼。

類的方法,可以沒有參數,也可以有多個參數。

類的方法,可以有返回結果,也可以不返回,不返回就是void

對于類的非靜态方法,你得先初始化,然後再使用它

SampleClass *sc = [[SampleClass alloc] init]; //定義一個變量,它的結果是調用計算方法之後獲得的return 結果 int result = [sc calcTwoNumer:4 withNumB:16];

本教程幫大家梳理Objective-c 最初級的面向對象的基礎編程原理。

最難的是理解函數定義,參數定義,以及傳參。

你理解了定義參數是怎麼定義的,調用函數就簡單了 【方法名 參數1 參數二】

中間是空格隔開。這就是Objective-C跟其他編程語言不一樣的設計。剛開始可能不太适應,但是你理解了它的玩法之後,看别人的Objective-C代碼也不難了。

其他的語法特點,跟C就沒什麼兩樣了。。

完整代碼如下:

//導入共用基礎類庫,類庫叫Foundation.h 這個每個應用都需要引入 #import <Foundation/Foundation.h> //定義一個類 名為SampleClass,擴展NSObject對象 @interface SampleClass : NSObject //這個類有一個方法定義 - (void)sampleMethod; //定義一個方法,計算兩個int 參數的結果 - (int)calcTwoNumer: (int)a withNumB: (int)b; @end //實現上面的類的 interface @implementation SampleClass //實現SampleMethod方法的具體邏輯 - (void)sampleMethod { //打印字符串到命令行 NSLog(@"I am test sampleMethod"); } //計算方法的具體實現,注意,兩個參數,執行相加之後,return返回,也是一個int - (int)calcTwoNumer:(int)a withNumB:(int)b { return a b; } @end //程序主函數入口 int main(int argc, const char *argv[]) { //内存自動回收池的寫法,注意用{} 符号包裹的是程序的主體 @autoreleasepool { // 下面是具體代碼,這兩行是打印兩行字符串 NSLog(@"What is my name"); NSLog(@"Hello, World!"); //初始化類,如果要實用類,你得先初始化,注意初始化對象的方法,先alloc,然後init SampleClass *sc = [[SampleClass alloc] init]; //調用方法,其實是給目标對象發送消息,讓它知道要運行什麼方法 [sc sampleMethod]; //定義一個變量,它的結果是調用計算方法之後獲得的return 結果 int result = [sc calcTwoNumer:4 withNumB:16]; //打印我們最終的計算結果 NSLog(@"calc two number result: %d", result); } //如果沒有錯誤,程序返回exit code是0 return 0; }

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关圖文资讯推荐

热门圖文资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved