Objective-C:属性

来源:互联网 发布:用手机发布淘宝宝贝 编辑:程序博客网 时间:2024/04/30 08:15
.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;
}

0 0
原创粉丝点击