//
// 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