--------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