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

  • 相关阅读:
    ASP.NET HttpRuntime.Cache缓存类使用总结
    ASP.NET MVC自定义AuthorizeAttribute篇知识点讲解—登录限制
    Echarts图表控件使用总结2(Line,Bar)—问题篇
    数据库查询实例(包含所有where条件例子)
    php file_get_contents读取大容量文件方法
    如何给mysql用户分配权限
    dedecms {dede:php}标签用法介绍
    js获取字符串最后一个字符代码
    CSS3选择器之学习笔记
    SQL中实现SPLIT函数几种方法
  • 原文地址:https://www.cnblogs.com/GhostKZShadow/p/5105194.html
Copyright © 2011-2022 走看看