Object-c------重写构造方法
2016-05-02 20:33
253 查看
// // main.m // constructor // // Created by zhaogang on 16/5/2. // Copyright © 2016年 zhaogang. All rights reserved. // #import <Foundation/Foundation.h> #import "Person.h" // 构造方法:用来初始化对象的方法,是个对象方法,-开头 // 重写构造方法的目的:为类让对象创建出来,成员变量就会有一些固定的值 /* 重写构造方法的注意点 1. 先调用父类的构造方法([super init]) 2. 再进行子类内部成员变量的初始化 */ int main(int argc, const char * argv[]) { @autoreleasepool { // insert code here... // Person *p = [Person new]; /* 完整的创建一个可用的对象 1.分配存储空间 +alloc 2.初始化 -init */ // 1.调用+alloc分配存储空间 // Person *p1 = [Person alloc]; // 2.调用-init进行初始化 // Person *p2 = [p1 init]; // 创建一个对象 Person *p1 = [ [Person alloc] init]; // 每个Person对象创建出来,他的_age都是10 } return 0; }
Person.h
#import <Foundation/Foundation.h> @interface Person : NSObject @property int age; @end
Person.m
#import "Person.h" @implementation Person // 重写-init方法 - (instancetype)init { // 1.一定要调用super的init方法:初始化父类中的成员变量和其他属性 // 因为首先调用了alloc方法,所以返回的是当前对象,所以这里的父类就是NSObject // 而init返回的是一个当前对象 self拥有父类里面初始化的属性 //self = [super init]; // 2.如果对象初始化成功,才有必要进行接下来的初始化 //if(self != nil) if( self = [super init]) { // 初始化成功 _age = 10; } // 3.返回一个已经初始化完毕的对象 return self; } @end
相关文章推荐
- Programming with Objective-C(四)
- Object-c-----id
- Object-c------@property_and_@synthesize
- Object-c------NSString
- Objective和Swift,你该选择哪个
- Shareplex 错误 can't open or read object cache file
- [Q学习]3 QObject的拷贝构造函数与赋值运算符
- Objective-C学习笔记
- AutoCAD ObjectArx2010安装
- 用Java写解谜RPG-2.Game与GameObject:内存与swing的交流
- java关于Object类中9大方法的分析
- iOS面试题系列之Objective-C相关
- zizaco/entrust 5.2.x-dev Class name must be a valid object or a string
- java Object类
- java_封装、继承、Object、多态
- java.lang.IllegalArgumentException: Cannot format given Object as a Number
- 启动报错com/opensymphony/xwork2/spring/SpringObjectFactory.java:245:-1
- OC学习笔记-Objective-C概述和特点
- OBJ-C构造方法学习笔记
- OBJ-C动态类型&静态类型学习笔记