博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
OC类
阅读量:6999 次
发布时间:2019-06-27

本文共 4728 字,大约阅读时间需要 15 分钟。

hot3.png

////  Fraction.h//  OC7类////  Created by Zoujie on 15/8/23.//  Copyright (c) 2015年 Zoujie. All rights reserved.//#import 
//接口文件@interface Fraction : NSObject#pragma mark - 属性 自动生成 Setter && Get@property  int numberator1;@property  int denominator1;#pragma mark - Setter && Get//-(void)setNumerator:(int)n;//-(void)setDenominator:(int)d;//-(int)numerator;//-(int)denominator;-(double) convertToNum;-(void)print;/** *  多参数函数 */-(void)setNumberator1:(int) n Denominator:(int)d;/** *  add */-(void) add:(Fraction *)f;/** *  相约数 */-(void) reduce;/** *  记数 */-(int)showpage;/** *  new add */-(Fraction *) newAdd:(Fraction *)f;/** *  减去消息接受着的参数 */-(Fraction *) subtract :(Fraction *)f;/** *  乘以 */-(Fraction *) multiply :(Fraction *) f;/** *  除以 */-(Fraction *) divide :(Fraction *)f;@end

接口

////  Fraction.m//  OC7类////  Created by Zoujie on 15/8/23.//  Copyright (c) 2015年 Zoujie. All rights reserved.//#import "Fraction.h"//双引号实用于本地文件(自己创建的文件),而不是系统文件//实现文件  实现部分包含的私有信息/** *  static 关键字 局部静态变量 记录所有对象调用函数的次数    局部变量 只记录每个对象自己调用函数的次数 */static int hitCount = 0;//调用次数@implementation Fraction//{//    int numberator;//    int denominator;//}/** *  如果省略@synthesize指令,那么编译器会自动分别命名底层的实例变量_numberator1,_denominator1. */@synthesize numberator1,denominator1;//-(void) setNumerator:(int)n//{//    numberator = n;//}////-(void) setDenominator:(int)d//{//    denominator = d;//}//********setter getter的参数名 不要跟 实例名称 相同 *********-(void)setNumberator:(int)numberator{    numberator1 = numberator;}-(void) setDenominator:(int)denominator{    denominator1 = denominator;}//-(void) setDenominator:(int)denominator //自动生成Setter//{//    denominator = denominator;//}-(int)numerator{    return numberator1;}-(int)denominator{    return denominator1;}-(void)print{        NSLog(@"%i/%i",numberator1,denominator1);}-(double)convertToNum{    if (denominator1 != 0)    {        return (double) numberator1 / denominator1;    }    else    {        return NAN;    }}-(void)setNumberator1:(int)n Denominator:(int)d{    denominator1 = d;    numberator1 = n;}-(void) add:(Fraction *)f{    numberator1 = numberator1 * f.denominator1 +denominator1 *f.numberator1;    denominator1 = denominator1 * f.denominator1;    //    self 关键字   当前方法的接受着    [self reduce];}/* *  new add */-(Fraction *) newAdd:(Fraction *)f{    Fraction *result = [Fraction new];        result.numberator1 = numberator1 * f.denominator1 + denominator1 * f.numberator1;    result.denominator1 = denominator1 * f.denominator1;        [result reduce];        return result;}/** *  sub */-(Fraction *) subtract:(Fraction *)f{    Fraction *result = [Fraction new];        result.numberator1 = numberator1 * f.denominator1 - denominator1 * f.numberator1;    result.denominator1 = denominator1 * f.denominator1;        [result reduce];        return result;}-(void) reduce{//局部变量    int u = numberator1;    int v = denominator1;    int temp;        while (v != 0) {        temp = u % v;        u = v ;        v = temp ;    }    numberator1 /= u;    denominator1 /= u;}-(int)showpage{    int hitCount = 0;    hitCount ++;    return hitCount;}@end

实现文件

////  main.m//  OC7类////  Created by Zoujie on 15/8/23.//  Copyright (c) 2015年 Zoujie. All rights reserved.//#import 
#import "Fraction.h"//导入头文件#define Choose  0int main(int argc, const char * argv[]) {    @autoreleasepool {        // insert code here...        NSLog(@"Hello, World!");                Fraction *myFraction = [Fraction new];        if (Choose)        {//          [myFraction setNumberator1:11];            myFraction.denominator1 = 11;//          [myFraction setDenominator1:3];        myFraction.numberator1 = 3;        }        else        {            [myFraction setNumberator1:1 Denominator:7];        }        NSLog(@"The value of myFraction");        [myFraction print];        NSLog(@"The value of myFranction:%i/%i",myFraction.numberator1,myFraction.denominator1);                //   add        传入对象参数        Fraction *afraction = [Fraction new];        Fraction *bfraction = [Fraction new];                [afraction setNumberator1:1 Denominator:4];        [bfraction setNumberator1:1 Denominator:2];                [afraction print];        NSLog(@"+");        [bfraction print];        NSLog(@"=");//        //        [afraction add:bfraction];//        [afraction print];//                reduce 分数相约到最简形式//        [afraction reduce];//        [afraction print];//        //        在方法中分配和返回对象        Fraction *resultFraction;        resultFraction = [afraction newAdd:bfraction];        [resultFraction print];                Fraction *subRusult = [bfraction subtract:afraction];        [subRusult print];                    }    return 0;}

转载于:https://my.oschina.net/u/2319073/blog/496017

你可能感兴趣的文章
Netty5入门学习笔记003-TCP粘包/拆包问题的解决之道(下)
查看>>
SpringMVC之@ResponseBody
查看>>
Ubuntu开机自动挂载Windows分区(NTFS FAT32)教程
查看>>
Oracle学习笔记6
查看>>
Centos7开通端口方法
查看>>
php数据库永久链接其实一般没必要使用,如果网站并发量大,数据库支持的连接数小就会出问题...
查看>>
oracle--架构
查看>>
动态规划的基本方法---多阶段决策过程及实例
查看>>
顺序数据---隐马尔科夫模型
查看>>
Spring boot 使用jpa时对于数据库的配置
查看>>
驰骋工作流引擎设计系列02
查看>>
Spring Security源码分析十:初识Spring Security OAuth2
查看>>
HDOJ 2087 KMP算法
查看>>
【转载】erlang 如何自定义 behaviour
查看>>
apache tomcat 集群 负债均衡 部署
查看>>
一步一步学Ruby(四):Ruby标准类型
查看>>
Node.js + WebSocket 实现的简易聊天室
查看>>
JSTL标签库之fn标签
查看>>
mtu检测
查看>>
在无法改动bs架构的基础上,添加新的功能(2) 浏览器
查看>>