`
JavaZhuang
  • 浏览: 9558 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

构造方法

    博客分类:
  • IOS
阅读更多

--------main.m---------

 

//

//  main.m

//  构造方法

//

//  Created by liuyes on 13-12-8.

//  Copyright (c) 2013 renhe. All rights reserved.

//

 

#import <Foundation/Foundation.h>

#import "Student.h"

 

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

{

 

    @autoreleasepool {

        //char *s = "itcast";   C语言中字符串

        NSString *str = @"itcast"//OC中的字符串

        Student *stu = [[Student alloc] initWithAge:15 andNo:10];

        NSLog(@"%@", stu);  //%@表示打印的内存地址

        //NSLog(@"age is %i and no is %i", stu.age, stu.no);

        [stu release];

    }

    return 0;

}

 

 

 

--------student.h---------

//

//  Student.h

//  构造方法

//

//  Created by liuyes on 13-12-8.

//  Copyright (c) 2013 renhe. All rights reserved.

//

 

#import <Foundation/Foundation.h>

 

@interface Student : NSObject{

    int _age;

    int _no;

}

 

- (void)setAge:(int)age;

- (int)age;

 

 

 

- (void)setNo:(int)no;

- (int)no;

 

//自己写一个构造方法

- (id)initWithAge:(int)age andNo:(int)no;

 

    

@end

 

 

 

--------student.m---------

//

//  Student.m

//  构造方法

//

//  Created by liuyes on 13-12-8.

//  Copyright (c) 2013 renhe. All rights reserved.

//

 

#import "Student.h"

 

@implementation Student

- (void)setAge:(int)age{

    _age = age;

}

- (int)age{

    return _age;

}

 

- (void)setNo:(int)no{

    _no = no;

}

- (int)no{

    return  _no;

}

 

//实现构造方法

- (id)initWithAge:(int)age andNo:(int)no{

    //首先要调用super的构造方法

    self = [super init];

    

    //如果self不为nil

    if(self != nil){

        _age = age;

        _no = no;

    }

    return  self;

}

 

//重写父类的description方法

//当使用%@带打印一个对象的时候,回调用这个方法

-(NSString *)description{

    

    NSString *str = [NSStringstringWithFormat:@"age is %i, and no is %i", _age, _no];

    

    return str;

}

 

@end

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics