OC中函数和方法的区别
2015-11-13 00:58
190 查看
//
// 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
//---
4000
------------------------------------------华丽的分割线-----------------------------------------------
@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
// 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
//---
4000
------------------------------------------华丽的分割线-----------------------------------------------
@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
相关文章推荐
- Mootools 1.2教程 函数
- autoit InputBox 函数
- 主页木马的制作方法
- 文件遍历排序函数
- 解密网页加密的两个方法
- 定义标题的最好方法
- Ruby简明教程之方法(Method)介绍
- Ruby基础知识之方法、代码段
- C#获取文件夹及文件的大小与占用空间的方法
- Oracle 函数大全[字符串函数,数学函数,日期函数]第1/4页
- Delphi控件ListView的属性及使用方法详解
- ASP下经常用的字符串等函数参考资料
- VB6实现连接Access数据库的ADODB代码实现方法
- PostgreSQL教程(五):函数和操作符详解(1)
- DOS批处理 函数定义与用法
- asp Chr 函数 数字转字母的方法
- Lua中的函数精讲笔记
- Lua中的闭合函数、非全局函数与函数的尾调用详解
- Lua中调用C++函数示例
- Lua实现split函数