Objective-C與Runtime的詳細資料介紹讓你不在問為什么
資料介紹
筆者非常高興能為Objective-C寫寫自己的理解和總結,不僅僅因為是筆者是Objective-C多年的重度開發者,更是因為這是一門有獨特想法的,有創造性的,有優美語法的,有歷史地位的編程語言。如果說對本文有什么預期的話,筆者希望能把一些類似“為什么是這樣”的問題說清楚。
Objective-C發明于上世紀80年代,Objective-C的作者——Brad Cox和Tom Love,在接觸到SmallTalk語言之后,一方面受到SmallTalk的啟發,另一方面也是看好C語言有著巨大影響力和廣闊前景,因此選擇在C語言的基礎上引入SmallTalk語言面向對象和消息派發的概念。最初的版本以C語言的擴展的形式實現的,在C編譯器中編寫支持Objective-C的預處理模塊,預處理會先將Objective-C語法代碼轉化為C代碼,再繼續C代碼的編譯過程。1988年,以企業為目標客戶的NeXT公司購買Objective-C的使用授權,接著擴展著名開源編譯器GCC,使其支持Objective-C,并且開發了AppKit和FoundationKit等基礎庫,Objective-C成為了NeXTSTEP系統(工作站)上“標準”的應用程序開發語言。1996年,Apple公司收購了NeXT公司,NeXTSTEP/OPENSTEP系統成為Apple新一代操作系統OSX的研發基礎。 2005年,Apple引入了Chris Lattner以及他的LLVM技術團隊,Objective-C新特性和編譯優化第一次得到高水平編譯器最高優先級的支持,先從后端的代碼優化和生成開始,逐步擴展到前端的語法解析(Clang)。如今(2015),Objective-C已經擁有GCC之外更為適合更為優異的編譯器套裝選擇——LLVM編譯器,LLVM包括完整的前后端模塊,最新版本6.1(2015)。
Objective-C是面向對象的,這是Objective-C最基本的的概念。關于面向對象,把一定的算法(函數)和數據(變量)因某種內在的聯系綁定在一起,形成最基本的程序結構單元,這些結構單元即是經常談及的對象,加上抽象二字,我們稱呼它為抽象對象,術語簡稱類;通過對變量的賦值(筆者認為不僅是變量,邏輯運算如閉包也是可以用于賦值)則會構成實體對象,術語簡稱對象(Objective-C一般也稱作實例)。對象和對象之間不是完全獨立的,通過巧妙的方式,它們之間能建立緊密的聯系,比如繼承、派生,對事物的抽象以及對代碼的復用有著微妙而重大的價值。Brad Cox和Tom Lov出版的第一本正式Objective-C著作,書名即為《Object-Oriented Programming, An Evolutionary Approach》。那么,為什么要對象,為什么要面向對象?這是個好問題,觀察人類普遍的思維,我們理解這個世界使用最多的概念就是物體,我們擅長把感知到的一切抽象為一個個的物體,通過了解物體的構成,以及物體之間的作用關系,實現對這個世界的認知和作用的目的。這一直是非常奏效的!面向對象就是把人類的思維的天賦和積累的思想財富應用于編程,這樣,程序對于增強生產能力/提高生活品質的效率和能力方面會大大提高。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
- 如何深度解析C++拷贝构造函数详细资料说明0次下载
- 如何使用C语言实现软复位详细资料说明1次下载
- C++教程之数据线性结构的详细资料介绍1次下载
- C语言教程之Makefile基础的详细资料说明12次下载
- 节能灯电路原理图和详细资料介绍87次下载
- C语言程序设计教程之C语言基础的详细资料概述66次下载
- C语言入门教程之堆栈的详细资料概述12次下载
- 如何从Java转型Objective-C的详细资料分析2次下载
- FPGA EP1C3开发板原理图的详细资料免费下载61次下载
- objective-c简体中文手册14次下载
- 基于Objective-C实现动态加载2次下载
- 从Objective-C向Swift转换经验分享0次下载
- 关于Runtime的应用0次下载
- 第15章objective-C编程语言0次下载
- Objective-C基础教程2次下载
- OLLVM和LLVM功能介绍8252次阅读
- FPGA功耗的详细介绍让你实现FPGA的低功耗设计6827次阅读
- 光伏逆变器是什么?光伏逆变器的相关知识详细讲解9774次阅读
- 固态锂离子电池的详细资料解析9093次阅读
- RS232接口串口取电电路的详细资料介绍9374次阅读
- 面向未来的五款编程语言2018次阅读
- C语言的简介和特点说明8341次阅读
- 如何正确的使用智能合约执行Runtime API1547次阅读
- 如何进行PLC控制程序的设计详细资料PPT说明6254次阅读
- 库卡机器人模拟量输入输出编程的详细资料概述7425次阅读
- 2019年的编程语言排行榜你知道吗25229次阅读
- PPT教程之伺服电机及其驱动技术的详细资料讲解8304次阅读
- 开关电源的正激变换器基本工作原理及元器件如何选择等详细资料概述15046次阅读
- PLC常用基本环节梯形图和详细文字说明详细资料概述10207次阅读
- 变压器保护的基本要求,保护配置和运行规定的详细资料概述10146次阅读
下載排行
本周
- 1U盤一鍵制作
- 23.84 MB | 3次下載 | 免費
- 2ch341驅動
- 0.18 MB | 1次下載 | 免費
- 3貼片電阻阻值代號
- 0.08 MB | 1次下載 | 1 積分
- 4DS1302芯片英文手冊
- 0.24 MB | 次下載 | 免費
- 5基于Linux的液晶顯示屏驅動技術的研究與應用
- 14.59 MB | 次下載 | 1 積分
- 6DS-CM5A H24-CN-V2
- 524.28 KB | 次下載 | 免費
- 7高精度智能設備TSMI2520一體成型電感的使用
- 0.53 MB | 次下載 | 免費
- 8醫療器械專用集成化高性能TSIF集成濾波器
- 0.33 MB | 次下載 | 免費
本月
- 1人形機器人電機驅動和傳感報告
- 4.27 MB | 41次下載 | 免費
- 2晶體三極管的電流放大作用詳細說明
- 0.77 MB | 32次下載 | 2 積分
- 3九陽豆漿機高清原理圖
- 2.47 MB | 31次下載 | 1 積分
- 4雙極型三極管放大電路的三種基本組態的學習課件免費下載
- 4.03 MB | 25次下載 | 1 積分
- 5多級放大電路的學習課件免費下載
- 1.81 MB | 21次下載 | 2 積分
- 6Altium Designer元件庫
- 17.11 MB | 10次下載 | 免費
- 7STM32F10xxx單片機編程手冊
- 0.29 MB | 5次下載 | 免費
- 8PC4401_DC-DC 42V反激式隔離開關電路
- 0.85 MB | 4次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935127次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420063次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191382次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183339次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81586次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73814次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評論