iPhone开发入门(7)— 从C/C++语言到Objective-C语言


  • 博主:易飞扬
  • 原文链接 : http://www.yifeiyang.net/iphone-development-introduction-7-from-the-c-c-language-to-objective-c-language/
  • 转载请保留上面文字。
  • iPhone开发入门(7)--- 从C/C++语言到Objective-C语言

    Objective-C,通常写作ObjC和较少用的Objective C或Obj-C,是扩充C的面向对象编程语言。所以有一定C/C++语言基础理解和掌握Objective-C也会相应的快些。这回,我们将比较着学习Objective-C语言,掌握其语法并理解其思想。

    语法

    让我们先来看看C++和Objective-C中对于类的宣言 :

    C++
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    #include "BaseClass.h"
    
    class MyClass : public BaseClass
    {
    public:
                        MyClass();
        virtual         ~MyClass();
    
        virtual int     GetValue() const;
        virtual void    SetValue(int     inValue);
    
        bool            IsValid() const;
    
        static MyClass* GetInstance();
    
    private:
        int             mValue;
        static MyClass* sInstance;
    };
    Objective-C
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    #import "BaseClass.h"
    
    @interface MyClass : BaseClass
    
    {
        int         mValue;
    
    }
    
    - (int)         getValue;
    - (void)        setValue:   (int)   inValue;
    - (BOOL)        isValid;
    
    + (MyClass*)    getInstance;
    
    @end

    通过比较上面两段代码,从语法的角度上我们看到 Objective-C 语言有以下特点:

    • 用 #import 取代了 #include
    #import 相当于 C/C++ 语言中的 #include+#pragma once。当头文件嵌套包含的时候,它的作用就发挥出来了。
    当某一头文件已经被读取后,又一次被 #include 的时候,#pragma once 这会跳过该次读取。
    比如我们在C/C++语言的头文件中常常这样定义,就是为了实现 #pragma once 而做的 :
    1
    2
    3
    #ifndef INCLUDED_BASECLASS_H
    #include    "BaseClass.h"
    #endif
    • 继承的时候没有限定符
    继承都是 public 的。
    • 没有构建和虚构函数
    • 成员变量/函数没有限定符
    成员变量缺省是 private 的,而函数是 public 的。
    • 没有const关键字
    • 没有virtual关键字
    Objective-C 中函数缺省的就是 virtual 的。

    接下来再看看具体的实现 :

    C++
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值