多重参数
Fraction.h
//方法名叫setNumerator:andDenominator:
-(void) setNumerator:(int) n andDenominator:(int) d;
Fraction.m
-(void) setNumerator: (int) n andDenominator: (int) d
{
numerator=n;
denominator=d;
}
main.m
#import <stdio.h>
#import "Fraction.h"
int main(int argc, const char * argv[])
{
//create a new instance
Fraction * frac=[[Fraction alloc] init]
Fraction * frac2=[[Fraction alloc] init];
//set the values
[frac setNumerator:1];
[frac setDenominator:3];
//combined set
[frac2 setNumerator:1 andDenominator:5];
//print it
printf("The fraction is :")
[prac print];
printf("\n");
//print it
printf("Fraction 2 is:");
[frac2 print];
printf("\n");
//free memory
[frac release];
[frac2 release];
return 0;
}
output
The fraction is :1/3
Fraction 2 is :1/5
建构子(Constructors)
Fraction.h
-(Fraction*) initWithNumerator:(int) n denominator:(int) d;
Fraction.m
-(Fraction *)initWithNumeratior:(int)n denominator:(int) d
{
self=[super init];//super init来存取super constructor,需要适当的继承设计
if(self) //与(self!=nil)一样为了确定super constructor成功传回了一个新的对象.
{
[self setNumerator: n andDenominator: d] //self==this
}
return self;
}
main.m
#import<stdio.h>
#import 'Fraction.h"
int main(int argc,const char *argv[])
{
//create a new instance
Fraction * frac=[[Fraction alloc]init];
Fraction * frac2=[[Fraction alloc]init];
Fraction *frac3=[[Fraction alloc]initWithNumerator: 3 denominator:10]
//set the values
[frac setNumerator:1];
[frac setDenominator:3];
//combined sert
[frac2 setNumerator:1 andDenominator:5];
//print it
printf("The fraction is:");
[frac print];
printf("\n");
。。。。
//free memory
[frac release];
[frac2 release];
[frac3 release];
}