Linux_c 语法.doc

  1. 1、本文档共54页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Translations: English | Chinese 大綱 開始吧 下載這篇教學 設定環境 前言 編譯 hello world 創建 Classes @interface @implementation 把它們湊在一起 詳細說明... 多重參數 建構子(Constructors) 存取權限 Class level access 異常情況(Exceptions)處理 繼承、多型(Inheritance, Polymorphism)以及其他物件導向功能 id 型別 繼承(Inheritance) 動態識別(Dynamic types) Categories Posing Protocols 記憶體管理 Retain and Release(保留與釋放) Dealloc Autorelease Pool Foundation Framework Classes NSArray NSDictionary 優點與缺點 更多資訊 開始吧 下載這篇教學 所有這篇初學者指南的原始碼都可以由 objc.tar.gz 下載。這篇教學中的許多範例都是由 Steve Kochan 在 Programming in Objective-C. 一書中撰寫。如果你想得到更多詳細資訊及範例,請直接參考該書。這個網站上登載的所有範例皆經過他的允許,所以請勿複製轉載。 設定環境 Linux/FreeBSD: 安裝 GNUStep 為了編譯 GNUstep 應用程式,必須先執行位於 /usr/GNUstep/System/Makefiles/GNUstep.sh 的 GNUstep.sh 這個檔案。這個路徑取決於你的系統環境,有些是在 /usr, some /usr/lib,有些是 /usr/local。如果你的 shell 是以 csh/tcsh 為基礎的 shell,則應該改用 GNUStep.csh。建議把這個指令放在 .bashrc 或 .cshrc 中。 Mac OS X: 安裝 XCode Windows NT 5.X: 安裝 cygwin 或 mingw,然後安裝 GNUStep 前言 這篇教學假設你已經有一些基本的 C 語言知識,包括 C 資料型別、什麼是函式、什麼是回傳值、關於指標的知識以及基本的 C 語言記憶體管理。如果您沒有這些背景知識,我非常建議你讀一讀 KR 的書:The C Programming Language(譯注:台灣出版書名為 C 程式語言第二版)這是 C 語言的設計者所寫的書。 Objective-C,是 C 的衍生語言,繼承了所有 C 語言的特性。是有一些例外,但是它們不是繼承於 C 的語言特性本身。 nil:在 C/C++ 你或許曾使用過 NULL,而在 Objective-C 中則是 nil。不同之處是你可以傳遞訊息給 nil(例如 [nil message];),這是完全合法的,然而你卻不能對 NULL 如法炮製。 BOOL:C 沒有正式的布林型別,而在 Objective-C 中也不是「真的」有。它是包含在 Foundation classes(基本類別庫)中(即 import NSObject.h;nil 也是包括在這個標頭檔內)。BOOL 在 Objective-C 中有兩種型態:YES 或 NO,而不是 TRUE 或 FALSE。 #import vs #include:就如同你在 hello world 範例中看到的,我們使用了 #import。#import 由 gcc 編譯器支援。我並不建議使用 #include,#import 基本上跟 .h 檔頭尾的 #ifndef #define #endif 相同。許多程式員們都同意,使用這些東西這是十分愚蠢的。無論如何,使用 #import 就對了。這樣不但可以避免麻煩,而且萬一有一天 gcc 把它拿掉了,將會有足夠的 Objective-C 程式員可以堅持保留它或是將它放回來。偷偷告訴你,Apple 在它們官方的程式碼中也使用了 #import。所以萬一有一天這種事真的發生,不難預料 Apple 將會提供一個支援 #import 的 gcc 分支版本。 在 Objective-C 中, method 及 message 這兩個字是可以互換的。不過 messages 擁有特別的特性,一個 message 可以動態的轉送給另一個物件。在 Objective-C 中,呼叫物件上的一個訊息並不一定表示物件真的會實作這個訊息,而是物件知道如何以某種方式去實作它,或是轉送給知道如何實作的物件。 編譯 hello world hello.m #import stdio.h in

文档评论(0)

tcpe + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档