您的位置:首页 > 移动开发 > Objective-C

Objective-C:属性

2014-04-10 11:16 337 查看
.h文件

//声明类名,继承的父类,相关属性(实例,)方法声明

#import

//类名 Student

//继承的父类名 NSObject

@interface Student : NSObject// :冒号是切割

//{

// //相关属性(实例变量)

// @public

// NSString *_name;//姓名

// int _age;//年龄

// NSString *_address;//地址

// NSString *_hobby;//爱好

//}

//属性设置器,提供相关属性给编译器,由编译器根据属性名称自动生成与之对应的实例变量访问器(setter设置器,getter读取器)和实例变量声明

@property(assign,nonatomic) NSString *name;

//对_name实例变量的访问器

//-(void) setname:(NSString *) newname;

//-(NSString *) name;

@property(assign,nonatomic) int age;

//_age实例变量的访问器

//-(void) setage:(int) newage;

//-(int) age;

@property(assign,nonatomic) NSString *address;

//对_address实例变量的访问器

//-(void) setaddress:(NSString *) newaddress;

//-(NSString *) address;

@property(assign,nonatomic) NSString *hobby;

//_hobby实例变量的访问器

//-(void) sethobby:(NSString *) newhobby;

//-(NSString *) hobby;

//方法的声明

-(void)sayHi;

-(void)eat;

-(void)walk;

@end

.m文件

#import "Student.h"//不能用双角号 双角号是系统的,""是自己定义的

@implementation Student

//属性合成器@synthesize,由编译器自动生成相关属性的方法实现,并且生成相关实例变量,默认实例变量名称对应属性一致,若要自己设置使用语法name=_name

@synthesize name,age,address,hobby;

////对—_name的访问器

//-(void) setname:(NSString *)newname{

// _name=newname;

//}

//-(NSString *)name{

// return _name;

//}

////对_sge的访问器

//-(void) setage:(int)newage{

// _age=newage;

//}

//-(int)age{

// return _age;

//}

////对_address的访问器

//-(void) setaddress:(NSString *)newaddress{

// _address=newaddress;

//}

//-(NSString *)address{

// return _address;

//}

////对_hobby的访问器

//-(void)sethobby:(NSString *)newhobby{

// _hobby=newhobby;

//}

//-(NSString *)hobby{

// return _hobby;

//}

//方法的实现

-(void) sayHi{

NSLog(@"我是来自%@%@,今年%d岁,喜欢%@",address,name,age,hobby);

}

-(void) eat{

NSLog(@"%@也得吃饭",name);

}

-(void) walk{}

@end

main函数

#import

#import "Student.h"

int main(int argc, const char * argv[])

{

@autoreleasepool {

Student *stu=[[Student alloc]init];//定义对象

stu.name=@"笑笑";//给实例变量赋值

stu.age=20;

stu.address=@"北京石景山";

stu.hobby=@"XXXXXXXX";

NSLog(@"我叫%@今年%d住在%@喜欢%@",stu.name,stu.age,stu.address,stu.hobby);//输出实例变量

}

return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: