<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Objective-C

          聯(lián)合創(chuàng)作 · 2023-10-01 11:17

          Objective-C,通常寫作 ObjC 和較少用的 Objective C Obj-C,是擴(kuò)充 C 的面向?qū)ο缶幊陶Z言。它主要使用于 Mac OS X 和 GNUstep 這兩個(gè)使用 OpenStep 標(biāo)準(zhǔn)的系統(tǒng),而在 NeXTSTEP 和 OpenStep 中它更是基本語言。Objective-C 可以在 gcc 運(yùn)作的系統(tǒng)寫和編譯,因?yàn)?gcc 含 Objective-C 的編譯器。

          Objective-C 是非常「實(shí)際」的語言。它使用一個(gè)用 C 寫成、很小的運(yùn)行庫,只會令應(yīng)用程序的大小增加很小,和大部分 OO 系統(tǒng)使用極大的 VM 執(zhí)行時(shí)間會取代了整個(gè)系統(tǒng)的運(yùn)作相反。ObjC 寫成的程序通常不會比其原始碼大很多。而其函式庫(通常沒附在軟件發(fā)行本)亦和 Smalltalk 系統(tǒng)要使用極大的存儲器來開啟一個(gè)窗口的情況相反。

          Objective-C 的最初版本并不支持垃圾回收。在當(dāng)時(shí)這是爭論的焦點(diǎn)之一,很多人考慮到 Smalltalk 回收時(shí)有漫長的「死亡時(shí)間」,令整個(gè)系統(tǒng)失去功用。Objective-C 為避免此問題才不擁有這個(gè)功能。雖然某些第三方版本已加入這個(gè)功能(尤是 GNUstep), Apple 在其 Mac OS X 10.3中仍未引入這個(gè)功能。

          另一個(gè)問題是 ObjC 不包括命名空間機(jī)制(namespace mechanism)。取而代之的是程序設(shè)計(jì)師必須在其類別名稱加上前綴,時(shí)常引致沖突。在2004年,在 Cocoa 編程環(huán)境中,所有 Mac OS X 類別和函式均有「NS」作為前綴,例如 NSObject 或 NSButton 來清楚分辨它們屬于 Mac OS X 核心;使用「NS」是由于這些類別的名稱在 NeXTSTEP 開發(fā)時(shí)定下。

          雖然 Objective-C 是 C 的超集,但它也不視 C 的基本型別為第一級的對象。

          和 C++不同,Objective-C 不支援運(yùn)算子多載(它不支持ad-hoc多型)。亦與 C++不同,但和 Java 相同,Objective-C 只容許物件繼承一個(gè)類別(不設(shè)多重繼承)。Categories 和 protocols 不但可以提供很多多重繼承的好處,而且沒有很多缺點(diǎn),例如額外執(zhí)行時(shí)間過重和二進(jìn)制不兼容。

           

          瀏覽 20
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  九七人妻| 操逼网络 | 鸡巴操美女欧美91 | 欧美1234区黄片 | 久久性爱影院 |