OC中方法与函数的区别

方法:方法是Objective-C独有的一种结构,只能在Objective-C中声明、定义和使用,C语言不能声明、定义和使用。

1、类方法以+号开头,对象方法以-号开头
+ (void) init;        // 类方法
- (void) show;                // 对象方法

2、在@interface和@end之间声明,在@implementation和@end之间定义
@interface Test : NSObject
// 方法声明
+ (void) init;
- (void) show;
@end
@implementation Test
// 方法实现
+ (void) init
{

}
- (void) show
{

}
@end
3、类方法只能由类来调用,对象方法只能由方法来调用
// 调用类方法
[Test init];
// 调用对象方法
Test *t = [Test new];
[t show];
4、方法归类、对象所有。
5、方法声明和实现中用到的数据类型必须用()括住。

函数:函数即C语言中的函数,在C和Objective-C中都声明、定义和使用。

1、函数能写在文件中的任意位置(@interface和@end之间除外),函数归文件所有。
int add(int num1, int num2)
{
        return num1 + num2;
}
2、函数调用不依赖于对象。
int sum = add(1, 2);
3、函数内部不能直接通过成员变量名访问某个对象的成员变量。

时间: 2024-10-18 01:09:40

OC中方法与函数的区别的相关文章

OC中方法与函数的区别(转)

方法:方法是Objective-C独有的一种结构,只能在Objective-C中声明.定义和使用,C语言不能声明.定义和使用. 1.类方法以+号开头,对象方法以-号开头 + (void) init;       // 类方法 - (void) show;             // 对象方法 2.在@interface和@end之间声明,在@implementation和@end之间定义 @interface Test : NSObject // 方法声明 + (void) init; - (

python中方法与函数的区别与联系

今天huskiesir在对列表进行操作的时候,用到了sorted()函数,偶然情况下在菜鸟教程上看到了内置方法sort,同样都可以实现我对列表的排序操作,那么方法和函数有什么区别和联系呢? 如下是我个人总结: 1.调用的方式不一样:函数:通过"函数名()"的方式调用方法:通过"对象.方法名"的方式调用 2.作用域不一样:函数内出现的有关计算.赋值等操作,在函数运行完之后里面的结果不会保留方法则是实实在在影响到当前环境 3. 在实例化中 class Foo(objec

黑马程序员 10-OC方法与函数的区别

———Java培训.Android培训.iOS培训..Net培训.期待与您交流! ——— 方法与函数的区别 1.方法: 1.对象方法都是以减号 - 开头  2.对象方法的声明必须写在@interface @end之间   3.对象方法的实现必须写在@implementation @end 之间 4.对象方法只能由对象调用  5.对象方法归类\对象所有 6.类方法都是以加号 + 开头,其他规则和对象方法相同 7.类方法既可以被类(类名)调用,也可以被对象调用 2.函数: 1.函数归文件所有,跟对象

python3中的 zip()函数 和python2中的 zip()函数 的区别

python3中的 zip()函数 和python2中的 zip()函数 的区别: 描述: zip() 函数用于将可迭代对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象. 如果各个可迭代对象的元素个数不一致,则返回的对象长度与最短的可迭代对象相同. 利用 * 号操作符,与zip相反,进行解压. zip() 函数语法: zip(iterable1,iterable2, ...) 参数说明: iterable -- 一个或多个可迭代对象(字符串.列表.元祖.字典) 返回

[译]Scala方法和函数的区别

Scala中既有函数也有方法,大多数情况下我们都可以不去理会他们之间的区别.但是有时候我们必须要了解他们之间的不同. Scala中的方法跟Java的方法一样,方法是组成类的一部分.方法有名字.类型签名,有时方法上还有注解,以及方法的功能 实现代码(字节码). Scala中的函数是一个完整的对象.Scala中用22个特质(trait)抽象出了函数的概念.这22特质从Function1到Function22 如上图中的Function10代表的是:有10个形参,返回值为R(协变)的函数. Scala

OC中的方法与函数的区别

OC方法: 1.OC方法必须以 - 开头 2.OC方法的定义包括声明和实现两部分,声明必须在@interface @end之间,实现必须在@implementation @end之间 3.OC方法只能有类的对象/实例方法 4.OC方法仅归类/类的对象所有 函数: 1.函数能写在文件的 任何位置(一般除了类的声明之间) 2.函数归文件所有 3.函数的调用不依赖对象 4.函数的内部不能用类的成员变量名直接去访问类的成员变量

OC中instanceType和id的区别

今天在学习oc的过程中遇到关于instanceType和id的问题不太明白.查了一些资料后,总结它们两个的区别和联系主要有以下几点: 相同点:instanceType和id都是作为方法的返回类型而被使用. 不同点: 1.instancetype可以返回和方法所在类相同类型的对象,id返回的类型只能是未知类型的对象: 对于简易构造函数,用instancetype更好一点,因为编译器因此会知道返回的是什么类型的方法对象,而用id则不会,它只会返回未知类型的对象: 2.instancetype在错误检

面试问题 - SQL 中存储过程与函数的区别

SQL 中的存储过程与函数没有本质上的区别 函数 -> 只能返回一个变量. 函数可以嵌入到sql中使用, 可以在select 中调用, 而存储过程不行.  但函数也有着更多的限制,比如不能使用临时表 存储过程 -> 可以返回多个变量. 存储过程的定义如下: 存储过程可以使得对数据库的管理.以及显示关于数据库及其用户信息的工作容易得多.存储过程是 SQL 语句和可选控制流语句的预编译集合,以一个名称存储并作为一个单元处理.存储过程存储在数据库内,可由应用程序通过一个调用执行,而且允许用户声明变量

SQL中存储过程和函数的区别

本质上没区别.只是函数有如:只能返回一个变量的限制.而存储过程可以返回多个.而函数是可以嵌入在sql中使用的,可以在select中调用,而存储过程不行.执行的本质都一样.      函数限制比较多,比如不能用临时表,只能用表变量.还有一些函数都不可用等等.而存储过程的限制相对就比较少       1.    一般来说,存储过程实现的功能要复杂一点,而函数的实现的功能针对性比较强.       2.    对于存储过程来说可以返回参数,而函数只能返回值或者表对象.       3.    存储过程