objective-c 构造函数

本文介绍了使用Objective-C进行面向对象编程的基础知识,包括Person和Student类的定义、属性及方法的声明与实现,以及不同构造函数的使用方法。
<pre name="code" class="objc">#import <Foundation/Foundation.h>
@interface Person : NSObject
{
	int _age;
	int _no;
}
//_age的get和set方法的声明
- (void)setAge:(int)age;
- (int)age;

//_no的get和set方法的声明
- (void)setNo:(int)no;
- (int)no;

//构建函数的声明
- (id)init;

//自定义构建函数的实现
- (id)initWithAge:age andNo:no;

@end
@implementation Person

//_age的get和set方法的实现
- (void)setAge:(int) age
{
	_age = age;
}
- (int)age
{
	return _age;
}

//_no的get和set方法的声明
- (void)setNo:(int) no
{
	_no = no;
}
- (int)no
{
	return _no;
}

//构建函数的实现
- (id)init
{
	if(self = [super init])
	{
		_age = 10;
		_no = 1000;	
	}	
	return self;
}

//自定义构建函数的实现
- (id)initWithAge:age andNo:no
{
	if(self = [super init])
	{
		_age = age;
		_no = no;	
	}	
	return self;
}
@end

@interface Student:Person
{
	NSString *_name;	
}
//_name的get和set方法的声明
- (void)setName:(NSString *)name;
- (NSString *)name; 

//构建函数的声明
- (id)init;

//自定义构建函数的实现
- (id)initWithAge:age andNo:no andName:name;
@end
@implementation Student
//_name的get和set方法的实现
- (void)setName:(NSString *)name
{
	_name = name;	
}
- (NSString *)name
{
	return _name;	
} 
//构建函数的实现
- (id)init
{
	if(self = [super init])
	{
		_name = @"zhangyunfei";	
	}	
	return self;
}

//自定义构建函数的实现
- (id)initWithAge:age andNo:no andName:name
{
	if(self = [super initWithAge:age andNo:no])
	{
		_name = name;	
	}	
	return self;
}
@end

int main (int argc, const char *argv[]) 
{ 
    Person *p = [[Person alloc] init] ;
    NSLog(@"age=%d,no=%d",[p age],[p no ]);
    
    Person *p2 = [[Person alloc] initWithAge:20 andNo:2000] ;
    NSLog(@"age=%d,no=%d",[p2 age],[p2 no]);
    
    Student *s = [[Student alloc] init];
    NSLog(@"age=%d,no=%d,name=%@",[s age],[s no],[s name]);
     
    Student *s2 = [[Student alloc] initWithAge:20 andNo:2000 andName:@"zhangfei"];
    NSLog(@"age=%d,no=%d,name=%@",[s2 age],[s2 no],[s2 name]);
    return 0;
}




                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值