Introduction to The Objective-C Programming Language

面向对象C语言编程简介:


    面向对象的C语言是一种简单的计算机语言,设计的目的是为了进行高级的面向对象编程。面向对象的C语言被定义成对标准C语言的小而强大的扩展集合。是对C语言的扩展但是主要基于Smalltalk语言,最早的面向对象编程语言之一。设计面向对象的C语言是为了给C语言完全的面向对象编程能力,通过一种简单直接的方法。


    大部分面向对象开发环境由若干部分组成:


  • 一种面向对象的编程语言
  • 一个对象库
  • 一套开发工具
  • 一个运行环境

    这篇文章是关于开发环境的第一个部分—编程语言,完全地描述了面向对象C语言,并且提供了学习第二个部分的基础,Mac OS X 的面向对象C语言应用框架—统称为 Cocoa. 你可以开始学习更多有关Cocoa 通过文章​Getting Started with Cocoa​. 你可以用的两种主要的开发工具是 Xcode 和 Interface Builder, 可从该网页获得描述 ​Xcode Workspace Guide​Interface Builder 单独的. 运行时环境在另外单独的文档里描述: ​Objective-C Runtime Programming Guide​.


    注意: 该文档描述的Objective-C的版本是发布在苹果电脑 Mac OS X v10.6 上的, 引入了新特性:associative references (see​​“Associative References” ​​​). 想学习Objective-C的1.0版本(在苹果电脑 Mac OS X v10.4 或者更早的版本上可用), 请阅读:​ ​Object Oriented Programming and the Objective-C Programming Language 1.0​.


谁应该阅读该文档


    该文档是为有可能对以下内容有兴趣的读者准备的:


  • 使用 Objective-C 编程
  • 想了解 Cocoa 应用框架的基础原理相关的内容

    该文档即介绍了实现 Objective-C语言的面向对象模型,同事也完整的介绍了该语言。重点在于Objective-C对C语言的扩展部分,而不是C语言本事。


    由于这不是一篇介绍C语言的文档,它假定我们之前了解C语言。但是,也不需要深入的了解。基于Objective-C的面向对象编程和之前基于标准C语言的编程有很大的不同,因此你不会有太大的障碍即使你不是一个有经验的C程序员。

该文档的结构


本文档分为若干章节和一个附录。

下面的章节涵盖了所有Objective - C对标准C语言扩展的功能。



​对象,类,和消息​



​定义一个类​



​协议​



​属性声明​



​类别和扩展​



​关联引用



​快速枚举​



​启用静态行为​



​选择器



​异常处理



​线程​



苹果的编译器基于GNU的编译器系列。Objective-C 的语法是 GNU C/C++ 语法的超集,并且Objective-C 的编译器适用于C, C++ 和Objective-C 的源代码. 编译器识别 Objective-C 的代码文件是通过文件扩展名​.m​, 就像它识别仅包含标准C语法的文件是通过文件扩展名.c, 同样的, 编译器识别使用Objective-C语言的C++文件是通过文件扩展名​.mm​, 其它的在Objective-C 里使用 C++ 的疑问涵盖在如下文档里:​​“Using C++ With Objective-C.” ​


附录里包含的参考资料或许对理解该语言有很大的帮助:

约定

   当本文档导论函数,方法和其他编程元素的时候, 使用了特殊的计算机语言和斜体字。计算机语言表示单词或者字符直接字面的拿来用(写成和他们一样的--就是C语言中的关键词了). 斜体表示能表现为其他东西或者是变化的(比如变量名等)。

比如, 语法:

​@interface​ClassName​(​CategoryName​)​

表示 ​​@interface​​ 和一对圆括号是必须的, 但是你可以选择类名和分类名。

当显示示范代码的时候,省略号表示的部分,通常是内容填充部分,已经省略了:

- (void)encodeWithCoder:(NSCoder *)coder

{
[super encodeWithCoder:coder];

...
}

涉及到的附录里的约定在附录本身描述了。


另请参阅

如果你从来没有用过面向对象编程来创建过应用程序,你应该阅读:​Object-Oriented Programming with Objective-C​. 你应该也要考阅读下它如果你用过其他的面向对象开发环境比如说:C++,JAVA,因为它们和Objective-C有很多不同的例外情况和约定。​Object-Oriented Programming with Objective-C ​的设计师为了帮助你熟悉面向对象的开发,向一个 Objective-C的开发者方向发展。它阐述了一些面向对象设计的实现,给你一些提示真正的编写面向对象的程序是啥样的。



运行环境(运行时)

​Objective-C Runtime Programming Guide​ 描述了Objective-C 运行时的一些情况和你如何去使用它。

​Objective-C Runtime Reference​描述了Objective-C 运行时支持库的数据结构和函数。你的程序可以使用这些接口来和Objective-C的运行时系统交互。比如:你可以添加一个类或者方法,或者获得一个所有已加载得的类定义的列表。​Objective-C Release Notes ​ 描述了在最新版本的 Mac OS X的一些Objective-C运行环境的变化。


内存管理

Objective-C 支持两种内存管理的环境,垃圾自动回收和引用计数:



Garbage Collection Programming Guide 描述了 Cocoa使用的垃圾回收机制。(iPhone上不支持—所以你无法通过iPhone的开发中心访问此文档.)



​Memory Management Programming Guide for Cocoa​ 描述了Cocoa使用的引用计数系统。




注:本文章是直接翻译的苹果官方网页上的的资料,不会随着网页的变化而及时变化,最新官方网页请参考

​https://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/ObjectiveC/Introduction/introObjectiveC.html​​​

欢迎朋友们指导修改~~~~




作者(Author):smilelance