zoukankan      html  css  js  c++  java
  • 多态性

    main.m

    // Fraction  分数

    // Complex   复数

    #import <Foundation/Foundation.h>

    #import "Fraction.h"

    #import "Complex.h"

    int main(int argc, constchar * argv[]) {

        @autoreleasepool {

           

            Fraction *f1 = [Fractionnew];

            Fraction *f2 = [Fractionnew];

    //Fraction *ff;

            

            Complex *c1 = [Complexnew];

            Complex *c2 = [Complexnew];

    //Complex *cc;

            

    //        id dataValue;

    //        f1.fenZi = 1;

    //        f1.fenMu = 10;

    //        dataValue = f1;

    //        [dataValue print];

    //        

            

            

    //        f2.fenZi = 2;

    //        f2.fenMu = 15;

    //        

    //        [f1 print];

    //        [f1 add:f2];

    //        [f1 reduce];

    //        [f1 print];

    //        

    //        c1.shiBu = 2;

    //        c1.xuBu = 3.5;

    //        c2.shiBu = 4.3;

    //        c2.xuBu = 3;

    //        [c1 print];

    //        [c2 print];

    //        [c1 add:c2];

    //        [c1 print];

            

            

        }

        return 0;

    }

     
    Fraction.h

    #import <Foundation/Foundation.h>

    @interface Fraction : NSObject

    @propertyint fenZi, fenMu;

    -(void)print;

    -(void)add: (Fraction *) f;

    -(void)reduce;

    @end

     
    Fraction.m

    #import "Fraction.h"

    @implementation Fraction

    @synthesize fenZi, fenMu;

    -(void)print{

        NSLog(@"%i/%i",fenZi,fenMu);

    }

    -(void)add: (Fraction *) f{

        

        fenZi = fenZi * f.fenMu + fenMu * f.fenZi;

        fenMu = fenMu * f.fenMu;

    }

    -(void)reduce{

        int u = fenZi;

        int v = fenMu;

        int temp;

        

        while (v != 0) {

            temp = u % v;

            u = v;

            v = temp;

        }

        fenZi /= u;

        fenMu /= u;

    }

    @end

     
    Complex.h

    #import <Foundation/Foundation.h>

    @interface Complex : NSObject

    @propertyfloat shiBu, xuBu;

    -(void)print;

    -(void)add: (Complex *)p;

    @end

     
    Complex.m

    #import "Complex.h"

    @implementation Complex

    @synthesize shiBu, xuBu;

    -(void)print{

        

        NSLog(@"%.2f + %.2f i",shiBu,xuBu);

    }

    -(void)add: (Complex *)p{

        

        shiBu = shiBu + p.shiBu;

        xuBu = xuBu + p.xuBu;

    }

    @end

  • 相关阅读:
    Owin
    C#不区分大小写的字符串替换(Replace)函数
    如何创建测试程序调试nginx数据结构
    一张脑图说清 Nginx 的主流程
    gdb常用命令记录
    nginx的configure流程
    c 编译器大全
    PHP 的 uniqid 函数产生的 id 真的是唯一的么?
    UUID那些事
    PHP 编码规范
  • 原文地址:https://www.cnblogs.com/GhostKZShadow/p/5105194.html
Copyright © 2011-2022 走看看