美文网首页
(IOS)类方法、实例方法、构造方法

(IOS)类方法、实例方法、构造方法

作者: rightmost | 来源:发表于2018-12-28 14:58 被阅读0次

类方法

类方法,也称静态方法或者工厂方法,以+开头,指的是用static关键字修饰的方法。类方法属于整个类,在项目中工具类的封装多用工厂方法调用,调用格式[类名 类方法]; 举个例子,如果多个界面都需要从沙盒中取出某个数据,就可以把这个方法进行封装

新建一个类,继承于NSObject,类名为GetHead。

在GetHead.h中声明一个类方法+(NSString *)getHeadString;//这里的getHeadString就是类方法名。(NSString *)就是这个类方法返回的值的类型。

在GetHead.m中实现声明的方法:

+(NSString *)getHeadString

{

  NSString *documentPathStr = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES) objectAtIndex:0];

  NSString *strPath = [documentPathStr stringByAppendingPathComponent:@"/obj.txt"];

  NSString *newStr = [NSString stringWithContentsOfFile:strPath encoding:NSUTF8StringEncoding error:nil];

  return newStr;

}

ViewController中调用这个方法:NSString *str = [GetHead getHeadString];

类方法也可以同样传参数进去,比如进行网络请求时候,可以把网络请求封装,传入不同的请求体即可。

实例方法

实例方法指的是不用static关键字修饰的方法,以-开头,它属于类的某一个或某几个实例对象,即类对象必须实例化后才可以使用的方法,调用方式[对象名 对象方法];例:有一个Person类,继承于NSObject,在.h文件中声明一个方法-(void)say;.

在.m文件中实现这个方法-(void)say{NSLog(@"哈哈哈");}

ViewController要想调用这个方法:

Person *xm = [[Person alloc]init];

[xm say];

构造方法

什么是构造方法:初始化对象的方法。一般情况下,在 OC 当中创建1个对象分为两部分(new 做的事):alloc:分配内存空间,init :初始化对象。

构造方法分为系统自带和自定义构造方法。

(1)如果是系统自带的构造方法,需要重写父类中自带的构造方法 比如init

(2)如果是自定义构造方法:属于对象方法那么以-号开头,返回值一般为id或者instancetype类型,方法名一般以init开头  系统构造方法书写格式:

- (instancetype)init

{

  self = [super init];

  if (self) {     

  }

return self;

}

自定义构造方法:

@property int age;

@property NSString *name;

//自定义构造方法 在初始化的时候为属性"年龄"和"姓名"赋值

- (instancetype)initWithAge:(int)age andName:(NSString *)name;

实现

// 实现自定义构造函数 在初始化的时候为属性赋值

- (id)initWithAge:(int)age andName:(NSString *)name

{

  if (self = [super init]) {

    _age = age;

    _name = name;

}

return self;

}

构造方法和实例方法的区别

IOS中,构造方法是指和类同名,用于构造对象(即生成对象)的方法。而实例方法,指的是在实例生成之后,实例调用的方法。

构造方法->构造实例->实例产生->调用实例方法。

详细说来,就是类调用构造方法,来生成了一个实例,而这个实例产生了以后,才会调用实例方法来完成一些行为。

相关文章

  • iOS类方法、实例方法、构造方法

    类方法 实例方法 构造方法 文章是为了留下记录,以便巩固基础知识,日后会继续完善,如果有不好的地方,敬请指教。

  • (IOS)类方法、实例方法、构造方法

    类方法 类方法,也称静态方法或者工厂方法,以+开头,指的是用static关键字修饰的方法。类方法属于整个类,在项目...

  • 对象方法(实例方法) 类方法(静态方法)的区别

    参考资源 Objective-C中类方法、对象方法介绍及区别iOS---类方法(静态方法)和实例方法iOS 类方法...

  • Java 构造方法中的多态

    类的实例化顺序是先实例化父类在实例化子类,也就是先调用父类的构造方法,再调用子类的构造方法,如果在构造方法中调用其...

  • 构造方法与普通方法

    构造方法与普通方法的区别:1.构造方法是在类的实例化时候调用的。2.普通方法是在类的实例化以后调用的。

  • Java学习笔记(五):类的构造方法和类的主方法

    1. 类的构造方法 类的构造方法是一个与类同名的方法,对象的创建就是通过构造方法实现的。每当类实例化一个对象时,类...

  • Buffer

    Buffer(缓冲区) 获得 实例化buffer对象的构造方法 Buffer类的静态方法 实例对象的方法

  • Swift面向对象

    创建一个类 类的四种属性 类的构造 swift类构造过程 指定构造器 便利构造器 KVC构造器 实例方法和类方法 ...

  • 5,super

    实例化一个类,会自动调用这个类的父类的构造方法 super调用父类的构造方法通常是有参的构造方法,参数和子类的构造...

  • Java反射初始化类调用类中的方法

    1.通过无参构造方法实例化对象 无参构造方法,类 反射调用方式 2. 有参构造函数,对象实例化 有参构造函数类 反...

网友评论

      本文标题:(IOS)类方法、实例方法、构造方法

      本文链接:https://www.haomeiwen.com/subject/keoslqtx.html