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

  • 相关阅读:
    后端PHP框架laravel学习踩的各种坑
    IE6、IE7兼容querySelectorAll和querySelector方法-最终版本
    package.json保存
    原生javascript兼容性总结
    原生javascript代码懒加载
    禁止选择文本样式
    xml转实体类的实现
    kendo ui editor 文本编辑器 自定义高度的实现
    setTimeout执行时带参数,并且带的是object对象类型的参数
    KendoUi listview template的用法记录
  • 原文地址:https://www.cnblogs.com/GhostKZShadow/p/5105194.html
Copyright © 2011-2022 走看看