Objective-C学习- 便利初始化函数和便利构造器

  在面向对象的语言中,Objective-C的 便利初始化函数 可以理解为 如 Java,C++ 中的含参数的构造函数,但又有些不同...

  例如,用Student类为例

  

 

首先是Student.h文件

  #import <Foundation/Foundation.h> 

  @interface Student : NSObject 

  //定义属性

  @property NSString *studentName; //学生姓名

  @property int age; //学生年龄

 

  //含姓名参数和年龄参数的构造函数(便利构造初始化函数)

  -(id) initWithName:(NSString *)name andWithAge:(int)age;

 

  //便利构造器(是类方法)  

  +(id) studentWithName:(NSString *)name andWithAge:(int)age;

 

  @end


然后是管理实现的Student.m文件

  #import "Student.h"

  @implementation Student

 

  //含姓名参数和年龄参数的构造函数(便利构造初始化函数)

  -(id) initWithName:(NSString *)name andWithAge:(int)age

  {

       if (self =  [super init])

        {

            [self setStudentName:name];

            [self setAge:age];

        }

      return self;

  }

 

  //便利构造器(是类方法)

  +(id) studentWithName:(NSString *)name andWithAge:(int)age

   {

      Student *student = [[Student alloc] initWithName:name andWithAge:age];

          return student;

    }

  @end

 

在main.m里面查看用法

  #import <Foundation/Foundation.h>

  #import "Student.h"

  int main(int argc, const char * argv[]) { 

      //之前的定义方法

      Student *student = [[Student alloc]initWithName:@"小明" andWithAge:19];     

 

      //用便利构造器,用便利构造器可以看出来,定义要简单的多

      Student *student1 = [Student studentWithName:@"小明" andWithAge:19];

      return 0;

  }

 

转载于:https://www.cnblogs.com/Yue-Wen/p/4693085.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值