程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> Objective-C方法與函數的區別

Objective-C方法與函數的區別

編輯:C#入門知識

Objective-C方法與函數的區別


Objective-C方法與函數的區別

方法是唯對象所有函數是不依賴於對象存在的 方法 函數 - (void)test; void test(); 方法是以減號 - 開頭 - 類型要用()括起來 - 聲明必須寫在@interface-@end之間,實現必須寫在@implementation-@end之間 可以寫在文件中的任意位置 只能由對象來調用 - 可以直接訪問成員變量 不可以直接訪問成員變量

Objective-C成員方法與類方法的區別

成員方法是以減號 “-” 開頭類方法是以加號 “+” 開頭 成員方法 類方法 - (void)test; + (void)test; 成員方法必須使用對象調用類方法可以直接使用類名調用

總結

OC成員方法就好比Java裡的非靜態方法,需要使用對象調用 OC類方法就好比Java裡的靜態方法(static),可以使用類名直接調用一般工具類使用類方法比較多

帶有返回值的方法

Objective-C

聲明

@interface NumUtil : NSObject
- (double)pi;
@end

實現

@implementation NumUtil
- (double)pi
{
    return 3.14;
}
@end

調用

NumUtil *n = [NumUtil new];
NSLog(@"%f",[n pi]);

Java

Java類

大概是這樣

public class NumUtil{
    public double pi(){
        return 3.14;
    }
}

調用

NumUtil numUtil = new NumUtil;
numUtil.pi();

帶有一個參數的方法

Objective-C

聲明

@interface NumUtil : NSObject
- (int)square:(int)num;
@end

實現

@implementation NumUtil
- (int)square:(int)num;
{
    return num * num;
}
@end

調用

NumUtil *n = [NumUtil new];
NSLog(@"%d",[n square:2]);

Java

Java類

大概是這樣

public class NumUtil{
    public int square(int num){
        return num * num;
    }
}

調用

NumUtil numUtil = new NumUtil;
numUtil.square(2);

帶有多個參數的方法

Objective-C

聲明

@interface NumUtil : NSObject
- (int)addNum1:(int)num1 addNum2:(int)num2;     
@end

實現

@implementation NumUtil
- (int)addNum1:(int)num1 addNum2:(int)num2
{
    return num1 + num2;
}
@end

調用

NumUtil *n = [NumUtil new];
NSLog(@"%d",[n addNum1:1 addNum2:2]);

Java

Java類

大概是這樣

public class NumUtil{
    public int add(int num1, int num2){
        return num1 + num2;
    }
}

調用

NumUtil numUtil = new NumUtil;
numUtil. add(1, 2);

注意

Objective-C方法名的問題

OC的方法名,和Java有些不同,Java很好理解
OC也不難理解,只是習慣了Java的那種命名方式,看到OC有點不適應

舉個例子:

- (double)pi;

這個很好理解,方法名就是 pi

- (int)square:(int)num;

帶參數的方法名有點特殊了
首先說冒號“:”,冒號後面的一定是參數
可以理解成,有幾個冒號,就有幾個參數
空格後面參數前面的內容拼起來(不算類型),就是方法名
那麼,這個方法的方法名就是square:,(注意:是有冒號的)

- (int)addNum1:(int)num1 addNum2:(int)num2;

根據上面的方法
這個方法的方法名就是 addNum1:addNum2:

其實很好理解,就是把每個參數的描述加上冒號拼接到一塊,組成方法名,方便閱讀

XCode查看方法名也很方便
這裡寫圖片描述

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved