Object-c中对象初始化
来源:互联网 发布:js函数参数传递方式 编辑:程序博客网 时间:2024/05/16 09:28
对象初始化的两种基本方法;[[类名 alloc] init]和[类名 new]
基本初始化
所有类都可以调用alloc类方法来分配内存,当程序调用某个类的alloc类方式时,系统会完成1.位该对象的所有实例变量分配内存空间2.将每个实例变量的内存空间都重置为0:所有的整形变量所在空间都重置为0,所有的浮点类型变量重置为0.0,所有的boolL类型变量都重置为NO,所有的指针类型变量都重置为nil。
使用alloc方式只是为对象分配空间,使用还必须进行初始化。
从功能上object-c的初始化方法和Java的构造器基本相同。Java在对象实例化时虽然只需要new,但是其也分为分配内存和初始化对象两部分
重写初始化方法实现对属性的目标初始化
#import<Foundation/Foundation.h>
@interface User;NSObject
@property (nonautomic,copy)NSString* name;
@property(nonautomic,assign)int age;
@property(nonautomic,copy)NSString* address;
@end
#import “User.h”
@implementation User
-(id) init{
//重写父类的init方法
//调用父类的init方法进行初始化,将初始化得到的数值数值给self,如果self不为nil则表示初始化成功
if(self=[super init]){
self->_name=@"jack";
self->_age=20;
self->_address=@"shang hai"
}
return self;
}
@end
带参数的初始化
#import <Foundation/Foundation.h>
interface Car:NSObject
@property (nonatomic,copy) NSString* brand;
@property (nonatomic,copy)NSString* model;
@property(nonatomic,copy)NSString* color;
//定义带参数的初始化方法
-(id) initWitnBrand:(NSString*) brand model:(NSString*) model;
-(id) initWitnBrand:(NSString*) brand model:(NSString*) model color:(NSString*) color;
@end
#import "Car.h"
@implementation Car
-(id) init{
if(self=[super init]){
self->_brand=@"BMW";
self->_model=@"a1";
self->_color=@"blue";
}
return self;
}
-(id) initWitnBrand:(NSString*) brand model:(NSString*) mode{
self->_brand=brand;
self->_model=model;
self->_color=@"blue";
}
- Object-c中对象初始化
- OBJECT-C 对象初始化
- Object-C 对象初始化
- Object-c学习笔记十一-----对象初始化
- Object Initialization(对象初始化)
- Object-c基础编程学习笔记-对象初始化
- 黑马程序员---Object-C和Swift对象初始化
- Object-c基础编程学习笔记-对象初始化
- object c 数组初始化
- object-c中类,对象和方法
- Object-C中自定义对象的归档
- object-c中对象创建
- C#3.0 中对象初始化器(Object Initializers)和集合初始化器(Collection Initializers)
- C#3.0 中对象初始化器(Object Initializers)和集合初始化器(Collection Initializers)
- C#3.0 中对象初始化器(Object Initializers)和集合初始化器(Collection Initializers)
- C#3.0 中对象初始化器(Object Initializers)和集合初始化器(Collection Initializers)
- C#3.0 中对象初始化器(Object Initializers)和集合初始化器(Collection Initializers)
- 初识Object-C对象
- 欢迎使用CSDN-markdown编辑器
- PHP Warning: file_get_contents failed to open stream解决办法
- UI设计师的迷茫
- 控制Elasticsearch分片和副本的分配
- Python实现欧拉计划22题
- Object-c中对象初始化
- 【S2HS学习笔记】第一章节:Java EE应用和开发环境
- Solr5.5+tomcat8.0+zookeeper3.4集群搭建
- 关于UISlider监听滑动结束状态
- 第10、11周-阅读程序(5)e
- CloseXML导出Excel文件
- android onActivityResult()接收返回数据为null的解决方案
- 每秒处理10万订单乐视集团支付架构
- 根据MATLAB的histeq函数改写的运行在OpenCV下的直方图规定化C源码!