OC第二讲成员变量可见度与方法
来源:互联网 发布:用homebrew打开mysql 编辑:程序博客网 时间:2024/05/04 14:09
第一题 分数类(Fraction)
1、成员变量:分子、分母
2、方法:
(1)初始化方法
(2)分子、分母的赋值、取值方法
(3)打印分数
(4)约分
(5)加、减、乘、除四个运算方法,返回分数对象
3、主函数中创建分数对象,测试加、减、乘、除。
提示:加减乘除运算只有一个Fraction类型的参数,有一个Fraction类型的返回值。
创建Fraction(分数)类
// Fraction.h 文件
#import <Foundation/Foundation.h>@interface Fraction : NSObject{ int _numerator; // 分子 int _denominator; // 分母}///初始化- (id)initWithNumerator:(int)numerator denominator:(int)denominator;///赋值- (void)setNumerator:(int)numerator;- (void)setDenominator:(int)denominator;///取值- (int)numerator;- (int)denominator;///打印- (void)print;///约分- (void)reduction;///加- (Fraction *)add:(Fraction *)fraction;///减- (Fraction *)reduce:(Fraction *)fraction;///乘- (Fraction *)multiply:(Fraction *)fraction;///除- (Fraction *)divide:(Fraction *)fraction;@end
// Fraction.m 文件
// 实现 Fraction.h 中的方法
#import "Fraction.h"@implementation Fraction///初始化- (id)initWithNumerator:(int)numerator denominator:(int)denominator{ _numerator = numerator; _denominator = denominator; return self;}///赋值- (void)setNumerator:(int)numerator{ _numerator = numerator;}- (void)setDenominator:(int)denominator{ _denominator = denominator;}///取值- (int)numerator{ return _numerator;}- (int)denominator{ return _denominator;}///打印分数- (void)print{ NSLog(@"%d / %d", _numerator, _denominator);}///约分- (void)reduction{ int x = _numerator, y = _denominator; while (x % y != 0) { int a = x % y; x = y; y = a; } _numerator /= y; _denominator /= y;}///加- (Fraction *)add:(Fraction *)fraction{ Fraction *_result = [[Fraction alloc] init]; _result->_numerator = ([self numerator] * [fraction denominator]) + ([self denominator] * [fraction numerator]); _result->_denominator = [self denominator] * [fraction denominator]; [_result reduction]; return _result;}///减- (Fraction *)reduce:(Fraction *)fraction{ Fraction *_result = [[Fraction alloc] init]; _result->_numerator = ([self numerator] * [fraction denominator]) - ([self denominator] * [fraction numerator]); _result->_denominator = [self denominator] * [fraction denominator]; [_result reduction]; return _result;}///乘- (Fraction *)multiply:(Fraction *)fraction{ Fraction *_result = [[Fraction alloc] init]; _result->_numerator = [self numerator] * [fraction numerator]; _result->_denominator = [self denominator] * [fraction denominator]; [_result reduction]; return _result;}///除- (Fraction *)divide:(Fraction *)fraction{ Fraction *_result = [[Fraction alloc] init]; _result->_numerator = [self numerator] * [fraction denominator]; _result->_denominator = [self denominator] * [fraction numerator]; [_result reduction]; return _result;}@end
// 主函数mian.m
#import <Foundation/Foundation.h>#import "Fraction.h"int main(int argc, const char * argv[]){ @autoreleasepool { // 创建Fraction的对象叫a1 Fraction *a1 = [[Fraction alloc] initWithNumerator:2 denominator:3]; // 创建Fraction的对象叫a2 Fraction *a2 = [[Fraction alloc] initWithNumerator:1 denominator:4]; // 打印对象a1, a2 [a1 print]; [a2 print]; // 创建fraction类temp1保存a1加a2的值 Fraction *temp1 = [a1 add:a2]; // 打印对象temp1 [temp1 print]; // 创建fraction类temp1保存a1减a2的值 Fraction *temp2 = [a1 reduce:a2]; // 打印对象temp2 [temp2 print]; // 创建fraction类temp1保存a1乘a2的值 Fraction *temp3 = [a1 multiply:a2]; // 打印对象temp3 [temp3 print]; // 创建fraction类temp1保存a1除a2的值 Fraction *temp4 = [a1 divide:a2]; // 打印对象temp4 [temp4 print]; } return 0;}
0 0
- OC第二讲成员变量可见度与方法
- OC第二讲成员变量可见度与方法——复合
- OC第二讲成员变量可见度与方法——复合
- OC第二讲成员变量可见度与方法——复合
- (OC)基础第二讲:实例变量可见度、方法
- 成员变量可见度与方法
- 成员变量可见度与方法
- oc 第二讲 成员变量和方法
- OC 成员变量与方法
- OC之实例变量可见度和方法
- OC第二天-实例变量可见度,setter和getter方法,导入头文件
- OC实例变量可见度 setter方法和getter方法
- OC第二讲(InstanceVariableAndMethod实例变量和方法)
- OC基础----类与对象、实例变量的可见度、继承
- OC之实例变量可见度
- OC 实例变量的可见度
- Java基础:第二十八讲 成员变量
- oc中实例变量的三种可见度/oc中的方法
- javascript通过选择器获取标签的内容的方法
- VC下编程实现网络驱动器的映射
- 两个ubuntu系统之间基于SSH服务的文件拷贝
- 断言(ASSERT)的用法
- cocos2d-x切换场景代码并添加各种切换特效
- OC第二讲成员变量可见度与方法
- DroidBox安卓沙盒使用小结
- HDU4993 Revenge of ex-Euclid
- win7下电脑疑难杂症解决集合(自己遇到的情况)
- 青岛客场1-1辽足倭
- 福克斯经典优惠1万全新速腾让利1.3万菩
- 假军官劫狱案凳
- 磁悬浮文胸院
- 上汽MG5优惠8千标致207优惠1.2万九