首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Objective-C与数据封装

Objective-C与数据封装
EN

Stack Overflow用户
提问于 2011-07-28 23:31:03
回答 1查看 416关注 0票数 0

我不明白'return‘在数据封装中做了什么。例如,在定义新方法时:

代码语言:javascript
复制
// Program to access instance variables
#import <Foundation/Foundation.h>

@interface Fraction: NSObject
{
  int numerator;
  int denominator;
}

-(void) print;
-(void) setNumerator: (int) n;
-(void) setDenominator: (int) d;
-(int) numerator;
-(int) denominator;

@end

@implementation Fraction
-(void) print
{
NSLog (@"%i/%i", numerator, denominator);
}

-(void) setNumerator: (int) n
{
numerator = n;
}

-(void) setDenominator: (int) d
{
denominator = d;
}

-(int) numerator
{
return numerator;
}

-(int) denominator
{
return denominator;
}

@end

int main (int argc, char *argv[])
{
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
Fraction *myFraction = [[Fraction alloc] init];

// Set fraction to 1/3

[myFraction setNumerator: 1];
[myFraction setDenominator: 3];

// Display the fraction

NSLog (@"The value of myFraction is: %i/%i", [myFraction numerator], [myFraction denominator]);

[myFraction release];
[pool drain];

return 0;
}

提前感谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-07-28 23:38:03

如果你有一个班级分数:

代码语言:javascript
复制
@interface Fraction{
  int _numerator;
  int _denominator;
}

-(int) numerator;
-(int) denominator;

@end


@implementation Fraction

–(int) numerator
{
return _numerator;
}

–(int) denominator
{
return _denominator;
}

//setters

@end

然后我们可以在其他类中使用这个类来获取分数对象的分子/分母:

代码语言:javascript
复制
//some other class
Fraction* fraction = [[Fraction alloc]init];
//set numerator / denominator
int fractionNumerator = [fraction numerator];

我们上面所做的是创建一个分数对象,然后调用它的getNumerator方法,该方法返回一个整数。我们通过将其赋给fractionNumerator来捕获此返回值。

我希望这就是你想要的..

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6861583

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档