Objece _c 课件
Chapter 1 Get Started § 1. Introduction Dennis Ritchie at AT&T Bell Laboratories pioneered the C language in the early 1970s. UNIX operating system was written almost entirely in C. (在20世纪70年代初 丹尼斯.里奇 在AT&T贝尔实验室开创的C语言。 UNIX操作系统几乎全部是用C写的。) Brad J. Cox designed the Objective-C language in the early 1980s.The language was based on a language called SmallTalk-80 and was layered on top of the C language. (在20世纪80年代,布莱德. 确斯 发明了Objective-C 语言。OC是基于一种叫SmallTalk-80的语言,并且是在C语言之上的。) NeXT Software licensed the Objective-C language in 1988 and developed its libraries and a development environment called NEXTSTEP. Most Cocoa classes begin with NS, like NSString, since they were initiated under NEXTSTEP. (NeXT软件公司在1988年发放Objective-C的许可,并且开发了它的一些库和开发环境起名叫做NEXTSTEP。绝大多数的Cocoa类都用NS打头,如NSString,因此他们加入NEXTSTEP的开发) On December 20, 1996, Apple Computer announced that it was acquiring NeXT Software, and the NEXTSTEP/OPENSTEP environment became the basis for the next major release of Apple’s operating system, OS X. Apple’s version of this development environment was called Cocoa. With built-in support for the Objective-C language, coupled with development tools such as Project Builder (or its successor Xcode) and Interface Builder, Apple created a powerful development environment for application development on Mac OS X. (1996年12月20日,在苹果公司宣布收购了NeXT软件公司基础上,NEXTSTEP / OPENSTEP环境成为了苹果操作系统的下一个主要版本,苹果公司的OS X 这个开发环境的版本被称为Cocoa。内置支持Objective - C语言与开发工具,如项目构建器(或它的后继者的Xcode)和Interface Builder,再加上苹果Mac OS X上创建一个强大的开发环境,用于应用程序开发) 后来,NeXT公司被苹果公司收购,NEXTSTEP开发环境更名为Cocoa,成为苹果电脑操作系统 Mac OS X的基础,包括 Xcode、Interface Builder等开发工具。 ### Objective-C 课程知识点概述 #### 一、Objective-C 的起源和发展 - **C语言的诞生**:20世纪70年代初,丹尼斯·里奇(Dennis Ritchie)在AT&T贝尔实验室创造了C语言。C语言因其简洁高效而被广泛应用于系统编程领域,最著名的应用案例便是几乎整个UNIX操作系统都是用C语言编写的。 - **Objective-C 的创造**:到了20世纪80年代,布拉德·J·考克斯(Brad J. Cox)设计了Objective-C语言。Objective-C基于SmallTalk-80语言,并在其基础上加入了面向对象的特性,同时保持了对C语言的支持,这使得Objective-C能够很好地兼容C代码。 #### 二、Objective-C 的早期发展与应用 - **NeXT Software的角色**:1988年,NeXT Software获得了Objective-C的授权,并基于此语言开发了一系列的库以及名为NEXTSTEP的开发环境。这一时期的Objective-C主要应用于NeXTSTEP操作系统上,许多类都以“NS”开头,例如`NSString`。 - **Cocoa框架的出现**:1996年,苹果公司收购了NeXT Software,将NEXTSTEP/OPENSTEP作为下一代操作系统OS X的核心。在此基础上,苹果推出了Cocoa框架,该框架内置了Objective-C语言的支持,并配备了一系列开发工具,如Project Builder(后来被Xcode取代)和Interface Builder,这些工具大大增强了在Mac OS X平台上进行应用程序开发的能力。 #### 三、Objective-C 基础概念 - **第一章:入门**: - **介绍**:介绍了Objective-C的历史背景及基本概念。 - **第一个程序**:引导读者编写并运行第一个Objective-C程序。 - **使用Xcode调试器**:教授如何使用Xcode的调试工具来调试程序。 - **第二章:类**: - **类定义**:讲解如何定义类及其成员。 - **类实现**:介绍如何实现类的方法。 - **消息表达式**:探讨如何使用Objective-C特有的消息发送机制。 - **重载**:讨论如何在同一类中定义多个同名但参数不同的方法。 - **属性声明**:介绍如何声明和使用类的属性。 - **组合**:解释如何通过组合其他对象来构建更复杂的类。 - **第三章:内存管理**: - **自动释放池**:介绍自动释放池的概念及其作用。 - **引用计数**:探讨Objective-C中的引用计数机制。 - **分配、初始化和销毁**:讲解对象生命周期管理的关键步骤。 - **第四章:继承**: - **从根开始**:介绍Objective-C中继承的基本原理。 - **查找正确的方法**:解释如何在继承层次结构中查找方法。 - **添加新方法**:指导如何向现有类添加新方法。 - **覆盖方法**:讨论如何在子类中覆盖父类的方法。 - **添加新实例变量**:讲解如何在子类中添加新的实例变量。 - **向下转型与动态绑定**:介绍如何安全地执行向下转型以及动态绑定的概念。 - **id类型**:解释Objective-C中id类型的用途和特点。 - **第五章:特殊特性**: - **协议**:介绍Objective-C中的协议概念及其用途。 - **复制**:探讨`NSCopying`协议的应用。 - **类别**:讲解如何使用类别来扩展现有类的功能。 - **内存管理规则总结**:回顾Objective-C中重要的内存管理规则。 - **其他特殊特性**:介绍Objective-C中其他的高级特性。 - **C++特定特性**:讨论Objective-C与C++的交互方式。 - **第六章:Foundation框架**: - **概述**:简述Foundation框架的作用及组成部分。 - **Foundation框架类**:详细介绍Foundation框架中的关键类。 - **第七章:数字、字符串和集合**: - **数字对象**:介绍Objective-C中处理数字数据的方法。 - **字符串对象**:讲解如何使用Objective-C处理字符串。 - **数组对象**:探讨数组的使用方法。 - **字典对象**:介绍字典数据结构及其操作。 - **第八章:文件操作**: - **编码**:讨论如何使用`NSCoding`协议实现对象的序列化和反序列化。 - **文件和目录管理**:讲解如何管理文件和目录。 - **路径操作**:介绍如何处理文件路径。 - **基本文件操作**:指导如何执行读写等基本文件操作。 通过以上章节的详细介绍,读者可以全面了解Objective-C的基本语法、核心概念以及如何使用Objective-C进行实际的应用程序开发。Objective-C不仅是苹果操作系统历史的重要组成部分,也是iOS和macOS应用开发的基础之一。
剩余63页未读,继续阅读
- qq795310332012-12-30仔细看过,教程真的不错。
- qq1254841432013-02-26很过的东西,希望能学好
- 江南有白衣2013-01-19谢谢分享 是我想要的
- 粉丝: 0
- 资源: 2
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (源码)基于MQTT协议和Docker的IoT远程监控管理系统.zip
- 高项论文写作思路之项目整体管理
- (源码)基于 ASP.NET Core 3.1 + Vue.js 的 EasyCode 后台管理系统.zip
- (源码)基于Spring和MyBatis的疫情防控管理系统.zip
- Rust 学习教程(入门到实践)
- (源码)基于Spring Boot和MyBatis的博客管理系统.zip
- 广东省省级政务信息化服务预算编制标准:软件开发服务分类及费用计算规则
- 支持IJKPlayer、Media3(EXOPlayer2)、MediaPlayer、AliPlayer实现了多功能的视频播放器
- NS3中CSMA模型介绍和数据收发流程代码分析
- (源码)基于Spring Boot和Stable Diffusion的风格化图片生成系统.zip