Objective-C表达式-用 Objective-C 表达式创建计算器类

为了对 苹果开发者Mike之前关于表达式的所有博文进行总结,我们将创建一个 Calculator类。它是一个简单的四则运算器,可用来执行加,减,乘,除运算。类似于常见的 计算器,这种计算器必须能够记录累加结果,就是通常所说的累加器。因此方法必须能够执行以下操作:将累加器设置为特定值,将其清空(或设置为0),以及在完成时检索它的值。以下是范例4-6包括了这个类的定义和一个用于试验该计算器的测试程序。

01   // Implement a Calculator class
02  
03   #import
04  
05   @interface   Calculator NSObject
06   {
07        double   accumulator ;
08   }
09  
10   // accumulator methods
11   - ( void )          setAccumulator:   ( double )   value ;
12   - ( void )          clear ;
13   - ( double )      accumulator ;
14  
15   // arithmetic methods
16   - ( void )          add:   ( double )   value ;
17   - ( void )          subtract:   ( double )   value ;
18   - ( void )          multiply:   ( double )   value ;
19   - ( void )          divide:   ( double )   value ;
20  
21   @end
22  
23  
24   @implementation   Calculator
25  
26   - ( void )          setAccumulator:   ( double )   value
27   {
28        accumulator   =   value ;
29   }
30  
31   - ( void )          clear
32   {
33        accumulator   =   0 ;
34   }
35  
36   - ( double )      accumulator
37   {
38        return   accumulator ;
39   }
40  
41   - ( void )          add:   ( double )   value
42   {
43        accumulator   +=   value ;
44   }
45  
46   - ( void )          subtract:   ( double )   value
47   {
48        accumulator   -=   value ;
49   }
50  
51   - ( void )          multiply:   ( double )   value
52   {
53        accumulator   *=   value ;
54   }
55  
56   - ( void )          divide:   ( double )   value
57   {
58        accumulator   /=   value ;
59   }
60  
61   @end
62  
63  
64   int   main   ( int   argc ,   const   char   *   argv [])
65   {
66        NSAutoreleasePool   *   pool   =   [[ NSAutoreleasePool   alloc ]   init ];
67        Calculator   * deskCalc ;
68       
69        deskCalc   =   [[ Calculator   alloc ]   init ];
70       
71        [ deskCalc   clear ];
72        [ deskCalc   setAccumulator:   100.0 ];
73        [ deskCalc   add:   200. ];
74        [ deskCalc   divide:   15.0 ];
75        [ deskCalc   subtract:   10.0 ];
76        [ deskCalc   multiply:   5 ];
77        NSLog ( @"The result is %g" ,   [ deskCalc   accumulator ]);
78        [ deskCalc   release ];
79       
80        [ pool   drain ];
81        return   0 ;
82   }

最终输出结果:

The result is 50


Calculator类只有一个实例变量,以及一个用于保存累加器值的double变量。具体的代码其实很简单,看一遍大家都能明白。

CSDN源代码下载  Calculator_ Class

你可能感兴趣的:(iPhone,Objective-C)