一起学Objective-C - Objective-C中的OO

Objective-C不是一个复杂的语言,虽然有些术语比较怪异,但是它用起来还是比较简单的。

 

Objective-C中的面向对象编程(OO)

对象Objects

对象必然是OO中最基本的元素,一个对象可以接收消息并按照消息来改变自己的状态。

一个对象的实例包含变量和方法。变量表示对象状态,方法表示对象的行为。

 

类Classes

所有同种类型的对象可以被称为同一个类的成员。如果有一个矩形的类,那么所有的矩形都术语这个类,而这个类则定义了所有的实例变量和方法。

类定义了自己,但是并不创建对象,它表现的更像是其他对象的模板。当一个对象被创建了之后就可以说一个类的实例存在了。同一个类的所有实例拥有相同的数据结构(变量)和方法。

 

继承Inheritance

在定义一个新的类的时候可以继承一个已经存在的类,这个类继承了他的父类的数据结构和方法。同时你可以自由的添加新的变量和方法或重写父类的方法。

 

多态Polymorphism

就像Java里面的重载,同一个父类的同一个方法,在子类里可以有不同的实现。

 

封装Encapsulation

封装有利于程序员在使用对象的时候关注它的行为而不是实现。同时也有利于修改实现而不影响使用它的程序。

 

动态类型绑定Dynamic Typing and Binding

在OO的世界里,一个对象的所属的类可以在运行时决定。在运行时绑定一个消息到一个特定的方法被称为动态绑定。

 

1.2 什么是Objective-C?

Objective-C在ANSI C的基础上加入了一些关键字和编译指令,以使其达到对面向对象的支持。libobjc是其关键作用的一个运行时用到的库.

因为Objective-C是ANSI C的扩展,你可以自由的调用C的代码。

Objective-C的代码看上去也很像C的代码,因为它也用main方法。

 

#include <stdio.h>

#include <objc/objc.h>


int main (void)

{

 /* Objective C and C code */

  return(0);

}

Objective-C的源代码用标准的GNU gcc 编译器. 这个编译器通过后缀.m来识别Objective-C 文件,.c来识别C文件,.h来识别头文件。

 

比如这个命令$gcc -o testfile testfile.m –lobjc会把Objective-C的代码testfile.m编译成一个可运行的文件testfile.“-lobjc”这个参数表示要把Objective-C的程序连接到动态运行库上. (在 GNU/Linux你也许还需要-lpthreads参数)

 

GNUstep make工具提供了另外一个简单的方法来编译大型项目

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值