Object-C技术学习,更多资源请访问 https://www.itkc8.com
// main.m
// 对象初始化
//
// Created by Goddog on 15/1/5.
// Copyright (c) 2015年 Goddog. All rights reserved.
//
/*
1.对象创建的方式[[类名 alloc] init]和[类名 new],实际上每次创建对象都要用alloc分配内存空间。
2.对象分配空间:系统为该对象的所有实例变量分配内存空间,将每个实例变量的内存空间都重置为0。分配空间用init初始化才可。
3.init方法可以初始化,但对象的所有成员变量依然为0,我门可以重写init方法,自定义对属性的初始化。
*/
// User.h
// 对象初始化
//
// Created by Goddog on 15/1/5.
// Copyright (c) 2015年 Goddog. All rights reserved.
//
#import <Foundation/Foundation.h>
@interface User : NSObject
//@property定义3个属性
@property (nonatomic,copy) NSString* name;
@property (nonatomic,assign) int age;
@property (nonatomic,copy) NSString* address;
@end
//
// User.m
// 对象初始化
//
// Created by Goddog on 15/1/5.
// Copyright (c) 2015年 Goddog. All rights reserved.
//
//重写init方法,完成自定义初始化
#import "User.h"
@implementation User
@synthesize name;
@synthesize age;
@synthesize address;
//重写init方法,完成自定义初始化
-(id) init
{
//调用父类的init方法执行初始化,将初始化得到的对象赋值给self对象
//如果self不为空,表示父类的init方法初始化成功
if (self == [super init]) {
//对该对象的属性name、age、address赋初始化值
self.name = @"波多";
self.age=100;
self.address=@"日本";
}
return self;
}
@end
#import <Foundation/Foundation.h>
#import "User.h"
int main(int argc, const char * argv[]) {
@autoreleasepool {
//创建并初始化对象
User* user = [[User alloc] init];
//访问User对象
//NSLog(@"芳名:%@,年龄:%d,住址:%@",[user name],[user age],[user address]);
NSLog(@"芳名:%@,年龄:%d,住址:%@",user.name,user.age,user.address);
}
return 0;
}
Object-C技术学习,更多资源请访问 https://www.itkc8.com