黑马程序员技术交流社区

标题: 黑马程序员—oc语言学习心得——自定义构造方法 [打印本页]

作者: 任子杰    时间: 2015-10-31 15:31
标题: 黑马程序员—oc语言学习心得——自定义构造方法
黑马程序员——oc语言学习心得—— 自定义构造方法
------Java培训Android培训iOS培训.Net培训、期待与您交流------

自定义构造方法有时候如果想让对象一创建就有相应的属性值 我们需要重写自定义构造方法
格式:

  1. /自定义构造方法  //根据传入的参数初始化人类姓名 年龄  注意andAge:(int)age;有分号
  2. -(instancetype)initWithName:(NSString *)name andAge:(int)age;
复制代码
实现自定义构造方法首先的让父类把事情干完【 super init】在执行子类的事情
  1. -(instancetype)initWithName:(NSString *)name andAge:(int)age{

  2.     if (self=[super init]) {
  3.         //如果父类初始化成功就把传进来的name age赋值给相应属性
  4.         _name=name;
  5.         _age=age;
  6.     }

  7.     return self;
  8. }
复制代码
  1. #import "Person.h"
  2. #import "Student.h"
  3. int main(int argc, const char * argv[]) {
  4.     @autoreleasepool {
  5.         
  6.         //根据传入的参数初始化人类姓名 年龄
  7.         Person *p=[[Person alloc]initWithName:@"小明" andAge:20];
  8.         NSLog(@"name=%@,age=%D",p.name,p.age);
  9.         //根据传入的参数初始化学生的姓名 年龄 学号
  10.         Student *s=[[Student alloc]initWithName:@"张三丰" andAge:22 andSno:12345678];
  11.          NSLog(@"name=%@,age=%D,sno=%d",s.name,s.age,s.sno);
  12.         
  13.         
  14.    
  15.     }
  16.     return 0;
  17. }
复制代码

------Java培训Android培训iOS培训.Net培训、期待与您交流------





作者: arhui    时间: 2015-10-31 15:38
学习了 666666




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2