举例oc实例方法和类方法的区别?
初学者,求教啊,谢谢!!成员变量:创建类大括号{}里就是成员变量吗?实例变量:类创建对象后,然后对象去访问{}里的就是实例变量吗?如,对象.方法[对象方法]右边这个方法实...
初学者,求教啊,谢谢!!
成员变量 :创建类大括号{ }里就是成员变量吗?
实例变量 :类创建对象后,然后对象去访问{ }里的就是实例变量吗? 如,对象.方法 [对象 方法]右边这个方法实际是成员变量吗?有几中表现形式?
类方法:是什么意思和作用,怎么用法? 展开
成员变量 :创建类大括号{ }里就是成员变量吗?
实例变量 :类创建对象后,然后对象去访问{ }里的就是实例变量吗? 如,对象.方法 [对象 方法]右边这个方法实际是成员变量吗?有几中表现形式?
类方法:是什么意思和作用,怎么用法? 展开
展开全部
1.成员变量可以理解为所有在类的头上声明的,无论是@interface、@implementation下用大括号括起来或者是用@property声明的变量都可以称作这个类的成员变量,只是在@implementation下声明的变量是这个类的私有变量,外部是无法访问的,而在@interface下声明的变量可以设定为全局或者私有变量,而用@property声明的就是全局变量,是外部既可以访问,内部也可以调用的
2.首先确定一下,对象.xxx的语法后面跟的不是方法,是一个可以被访问的成员变量,之所以可以用对象.方法这种方式调用,是因为用@property定义或者手动设置了这个变量的setter和getter方法;而[对象 方法]才是OC中标准的调用方法的语法方式,这种方式的原理是向该对象中发送一个消息,如果对象中有相应的消息就会做出回应,这就是OC的消息机制,目前最常用的也是这一种表示形式
3.类方法的意思是不需要声明一个对象(实例)就可以直接调用的方法,通常是有返回值的(否则类方法就无意义了,因为没有对象或者相应的成员变量的值可以设置)。作用就是返回一些这个类特定的实例,比如字符串的[NSString stringWithFormat:@""];这个类方法,作用就是返回一串自定义的字符串,用法和[NSString alloc]initWithFormat:@""];没有区别
但是,实际上用类方法创建的对象是被系统自动归到自动释池下管理的,而用alloc方法创建的对象如果在手动内存管理模式下,需要用release方法进行释放,这就是两者的区别了
2.首先确定一下,对象.xxx的语法后面跟的不是方法,是一个可以被访问的成员变量,之所以可以用对象.方法这种方式调用,是因为用@property定义或者手动设置了这个变量的setter和getter方法;而[对象 方法]才是OC中标准的调用方法的语法方式,这种方式的原理是向该对象中发送一个消息,如果对象中有相应的消息就会做出回应,这就是OC的消息机制,目前最常用的也是这一种表示形式
3.类方法的意思是不需要声明一个对象(实例)就可以直接调用的方法,通常是有返回值的(否则类方法就无意义了,因为没有对象或者相应的成员变量的值可以设置)。作用就是返回一些这个类特定的实例,比如字符串的[NSString stringWithFormat:@""];这个类方法,作用就是返回一串自定义的字符串,用法和[NSString alloc]initWithFormat:@""];没有区别
但是,实际上用类方法创建的对象是被系统自动归到自动释池下管理的,而用alloc方法创建的对象如果在手动内存管理模式下,需要用release方法进行释放,这就是两者的区别了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询