首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

Objective-C 入門實戰:構建一個四則運算計算器類

     編輯:關於C語言

Objective-C 入門實戰:構建一個四則運算計算器類

Objective-C(簡稱 OC)是 C 語言的超集,加入了 Smalltalk 風格的訊息傳遞機制,是 macOS/iOS 開發的主力語言。本文通過一個完整的「四則運算計算器」類,演示 OC 的介面宣告、實現、實例方法、switch-case 流程控制,以及主程式中的輸入輸出處理。

一、 類設計:Calculator 接口與實現

定義一個 Calculator 類,封裝運算邏輯:

@interface Calculator : NSObject
- (void)setValue:(double)value;      // 設定初始值
- (double)getResult;                 // 取得運算結果
- (void)add:(double)value;           // 加法
- (void)sub:(double)value;           // 減法
- (void)multiply:(double)value;      // 乘法
- (void)divide:(double)value;        // 除法
@end

@implementation Calculator {
    double _value;                   // 實例變數(私有)
}
- (void)setValue:(double)v { _value = v; }
- (void)add:(double)v       { _value += v; }
- (void)sub:(double)v       { _value -= v; }
- (void)multiply:(double)v  { _value *= v; }
- (void)divide:(double)v    { _value /= v; }
- (double)getResult         { return _value; }
@end

關鍵點:

  • @interface/@implementation 分離介面與實現。
  • 實例方法以 - 開頭,參數冒號語法 add:(double)v 對應呼叫 [obj add:5.0]。
  • 實例變數預設為 @protected,封裝於大括號中。

二、 主程式:互動式運算

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        double value = 0, v = 0;
        char op;
        Calculator *calc = [[Calculator alloc] init];
        NSLog(@"請輸入表達式(如 2015+2014):");
        scanf("%lf %c %lf", &value, &op, &v);
        [calc setValue:value];
        switch (op) {
            case '+': [calc add:v]; break;
            case '-': [calc sub:v]; break;
            case '*': [calc multiply:v]; break;
            case '/': [calc divide:v]; break;
            default: NSLog(@"未知操作符"); break;
        }
        NSLog(@"%.2f", [calc getResult]);
    }
    return 0;
}

說明:

  • @autoreleasepool:自動釋放池,管理臨時物件記憶體(ARC 環境下仍建議保留)。
  • NSLog:格式化輸出至控制台(含時間戳與進程資訊)。
  • scanf 讀取雙精度浮點數與字符運算符。
  • 訊息傳遞語法 [receiver message] 是 OC 核心特徵。

三、 執行範例輸出

2015-11-15 17:23:13.722 switch-case[1684:89106] 請輸入表達式!
2015+2014
2015-11-15 17:23:21.586 switch-case[1684:89106] 4029.00
Program ended with exit code: 0

同理測試減法(2015-2020=-5)、乘法(2015*10=20150)、除法(2015/10=201.5)均正確。

四、 學習心得

從 C/C++ 轉向 OC,最大適應挑戰在於:

  • 訊息傳遞 vs 函數呼叫:動態綁定、選擇器機制。
  • 記憶體管理:ARC(自動引用計數)取代手動 retain/release。
  • Xcode 快捷鍵與操作習慣:與 Visual Studio 差異極大。

但 OC 的動態特性(如 Runtime 動態添加方法、Method Swizzling)極具威力,配合 Cocoa/Cocoa Touch 框架,是蘋果生態開發的基石。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved