A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

黑马程序员——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培训、期待与您交流------




1 个回复

倒序浏览
学习了 666666
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马