OC中函数和方法的区别

//

//  main.m

//  函数和方法的区别

//

//  Created by Caoxia on 15/11/10.

//  Copyright © 2015 Caoxia. All rights reserved.

//

/*

 区别:

 1.函数属于整个文件,方法属于某一个类,所以函数的修饰区间更大

 2.方法是不能离开类独立存在的

 3.函数可以直接调用,方法必须用类或者对象调用

 

 

 注意:函数虽然属于整个文件,但是如果把          "函数写在类的声明中就不识别了"

 

 4.函数和方法不能混淆,不能将函数当做方法调用也不能把方法当做函数调用

 

 

 

 方法的注意点:

 1.方法可以没有声明只有实现;

 2.方法可以没有实现;编译不会报错,但是运行会报错

 错误类型:发送了一个未识别的消息

 

 

 类的注意点:

 1.类可以只有申明没有实现,但是在开发中不建议这样写

 

 

 */



#import <Foundation/Foundation.h>

//---------------------------------------------华丽的分割线-----------------------------------------------


@interface Demo : NSObject

{

    int b;//这是一个成员变量,存放在栈内存

}

@end

//---------------------------------------------华丽的分割线-----------------------------------------------



@implementation Demo


- (void)method

{

    int a;

    a = 3;//这是一个局部变量,存放在栈内存

    NSLog(@"这是一个对象方法");

}


+ (void)method2

{

    NSLog(@"这是一个类method");

}


@end

//---------------------------------------------华丽的分割线-----------------------------------------------

void function()

{

    NSLog(@"这是一个函数,注意定义的位置");

}


extern void function1();//这是一个外部方法的申明

static void function2();//这是一个外部方法的实现

extern void function1()

{

    NSLog(@"这是一个外部方法的实现");

   // d->_b = 15;函数中不能访问对象的成员,否则会报错

}


static void function2()

{

    NSLog(@"这是一个内部方法的实现");

}

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

    @autoreleasepool {

        // insert code here...

        NSLog(@"Hello, World!");

//        void function()

//        {

//            NSLog(@"函数不能在这里定义和实现");

//        }

        Demo *d = [Demo new];

        

    }

    return 0;

}


//如有任何疑问,请致QQ:794737787


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值