開(kāi)啟Objective-C-創(chuàng)新互聯(lián)

一、Objective-C簡(jiǎn)述

成都創(chuàng)新互聯(lián)公司專(zhuān)業(yè)為企業(yè)提供開(kāi)平網(wǎng)站建設(shè)、開(kāi)平做網(wǎng)站、開(kāi)平網(wǎng)站設(shè)計(jì)、開(kāi)平網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、開(kāi)平企業(yè)網(wǎng)站模板建站服務(wù),十多年開(kāi)平做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

     Objective-C通常寫(xiě)作ObjC和較少用的Objective C或Obj-C,是擴(kuò)充C的面向?qū)ο缶幊陶Z(yǔ)言。Objective-C主要用于:編寫(xiě)iOS操作系統(tǒng)(如:iPhone、iPod touch、iPad 等蘋(píng)果移動(dòng)終端設(shè)備 )應(yīng)用程序和Mac OS X操作系統(tǒng)應(yīng)用程序的利器?!bjective-C的流行當(dāng)歸功于iPhone的成功,因?yàn)镺bjective-C被用于編寫(xiě)iPhone應(yīng)用程序。

    Objective-C是非常實(shí)際的語(yǔ)言。它是一個(gè)用C寫(xiě)成、很小的運(yùn)行庫(kù),只會(huì)令應(yīng)用程序的尺寸增加很小,和大部分OO系統(tǒng)使用極大的VM執(zhí)行時(shí)間會(huì)取代了整個(gè)系統(tǒng)的運(yùn)作相反。Objective-C寫(xiě)成的程序通常不會(huì)比其原始碼大很多。而其函式庫(kù)(通常沒(méi)附在軟件發(fā)行本)亦和Smalltalk系統(tǒng)要使用極大的內(nèi)存來(lái)開(kāi)啟一個(gè)窗口的情況相反。因此,Objective-C它完全兼容標(biāo)準(zhǔn)C語(yǔ)言(C++對(duì)C語(yǔ)言的兼容僅在于大部分語(yǔ)法上,而在A(yíng)BI(Application Binary Interface)上,還需要使用extern "C"這種顯式聲明來(lái)與C函數(shù)進(jìn)行兼容),而在此基礎(chǔ)上增加了面向?qū)ο缶幊陶Z(yǔ)言的特性以及Smalltalk消息機(jī)制。

    OC是C語(yǔ)言的超集,允許在OC中使用C語(yǔ)言源代碼,編譯器兼容C語(yǔ)言程序,具有完善的面向?qū)ο筇卣?、包含一個(gè)運(yùn)行時(shí)系統(tǒng)、類(lèi)庫(kù)豐富等特點(diǎn)。

    雖然Objective-C是C的超集,但它也不視C的基本型別為第一級(jí)的對(duì)象。和C++不同,Objective-C不支援運(yùn)算子多載(它不支持ad-hoc多型)。亦與C++不同,但和Java相同,Objective-C只容許對(duì)象繼承一個(gè)類(lèi)別(不設(shè)多重繼承)。

二、面向?qū)ο?/strong>

    面向?qū)ο缶幊?OOP(Object Oriented Programming,面向?qū)ο蟪绦蛟O(shè)計(jì))是一種計(jì)算機(jī)編程架構(gòu)

    面向?qū)ο蟮恼Z(yǔ)言:C++,Java,C#

    面向?qū)ο缶哂腥筇卣鳎悍庋b、繼承、多態(tài)。

    封裝:隱藏內(nèi)部實(shí)現(xiàn),穩(wěn)定外部接口

    繼承:子類(lèi)可以直接復(fù)用父類(lèi)中的成員

    多態(tài):不同對(duì)象對(duì)同一個(gè)消息的不同相應(yīng)

開(kāi)啟Objective-C

三、類(lèi)和對(duì)象

   面向?qū)ο蟮暮诵氖穷?lèi)和對(duì)象

 (一)什么是類(lèi)

     類(lèi)是一組具有相同(特征)屬性和行為(功能)的事物的集合,類(lèi)名是標(biāo)示符的一種,需要符合規(guī)范,通常類(lèi)名的第一個(gè)字母大寫(xiě),且不能有下劃線(xiàn),如果有多個(gè)單詞則使用駝峰標(biāo)識(shí),在對(duì)方法進(jìn)行類(lèi)的劃分中,一般采取的做法是誰(shuí)最熟悉這個(gè)方法就把這個(gè)方法劃分給誰(shuí)。在OC中,對(duì)象對(duì)方法的調(diào)用稱(chēng)為消息機(jī)制,即向既定的對(duì)象發(fā)送了什么消息。

 (二) 什么是對(duì)象

      時(shí)間萬(wàn)物皆對(duì)象,即哲學(xué)的“客觀(guān)存在”。在生活中,可能是一輛車(chē),一只筆,或者是一張京東訂單,工商銀行的一張卡等等都是對(duì)象。對(duì)象描述了一個(gè)物體的特性值和行為實(shí)現(xiàn)

   (三) 類(lèi)和對(duì)象的關(guān)系

      類(lèi)和對(duì)象的關(guān)系就像是狗類(lèi)和具體的狗的關(guān)系一樣。

      類(lèi)是對(duì)象的抽象,是概念或者模板,而對(duì)象是類(lèi)的具體實(shí)現(xiàn),屬于類(lèi)

       類(lèi)描述這些類(lèi)事物應(yīng)該具體哪些行為和特征:而對(duì)象真正去實(shí)現(xiàn)行為和特征

(四)面向?qū)ο缶幊讨惺褂脤?duì)象完成程序

      開(kāi)發(fā)中:先定義類(lèi),再創(chuàng)建對(duì)象,然后使用對(duì)象

      定義類(lèi)包含兩個(gè)部分:借口部分和實(shí)現(xiàn)部分,分開(kāi)寫(xiě)

      1、接口部分:對(duì)外聲明類(lèi)的特征和行為。(類(lèi)似于說(shuō)明書(shū))h文件中

      2、實(shí)現(xiàn)部分:對(duì)內(nèi)實(shí)現(xiàn)行為。(內(nèi)部的具體實(shí)現(xiàn))m文件

     接口部分(h文件)

     接口部分標(biāo)志:@interface·······@end

     作用:聲明類(lèi)的實(shí)例變量和方法,即特征行為

     包含內(nèi)容:類(lèi)名、父類(lèi)名、實(shí)例變量、方法等

開(kāi)啟Objective-C

     實(shí)現(xiàn)部分(m文件)

     實(shí)現(xiàn)部分標(biāo)志:@implementation·······@end

     作用:實(shí)現(xiàn)方法,即實(shí)現(xiàn)類(lèi)的行為

開(kāi)啟Objective-C

例如:創(chuàng)建一個(gè)AudiCar類(lèi)

類(lèi)的接口部分:

開(kāi)啟Objective-C

類(lèi)的實(shí)現(xiàn)部分如下:

開(kāi)啟Objective-C

類(lèi)的調(diào)用部分如下:

開(kāi)啟Objective-C

   (五)常見(jiàn)的錯(cuò)誤

     (1)@interface  @end和@implementation  @end不能嵌套包含

     (2)只有類(lèi)的聲明沒(méi)有類(lèi)的實(shí)現(xiàn)

     (3)漏寫(xiě)@end

      (4)兩個(gè)類(lèi)的聲明嵌套(可以把順序打亂)

      (5)成員變量沒(méi)有寫(xiě)在{}里

      (6)方法的聲明寫(xiě)在了{(lán)}里面

      (7)在聲明時(shí)對(duì)類(lèi)的成員變量進(jìn)行初始化,請(qǐng)注意成員變量不能脫離對(duì)象而獨(dú)立存在

      (8)方法無(wú)法像函數(shù)那樣的調(diào)用

      (9)成員變量和方法不能用static等關(guān)鍵字修飾,不要和c語(yǔ)言混淆

      (10)類(lèi)的實(shí)現(xiàn)可以寫(xiě)在mian函數(shù)后面,在使用之前只要有聲明就可以

四、OC對(duì)象與函數(shù)

   OC對(duì)象與函數(shù)有著本質(zhì)的區(qū)別:

  (1)方法的實(shí)現(xiàn)只能寫(xiě)在@implementation··@end中,對(duì)象方法的聲明只能寫(xiě)     在@interface···@end中間

   (2)對(duì)象方法都以-號(hào)開(kāi)頭,類(lèi)方法都以+號(hào)開(kāi)頭

   (3)對(duì)象方法只能由對(duì)象來(lái)調(diào)用,類(lèi)方法只能由類(lèi)來(lái)調(diào)用,不能當(dāng)做函數(shù)一樣調(diào)用

   (4)函數(shù)屬于整個(gè)文件,可以寫(xiě)在文件中的任何位置,包括@implementation··@end中,但寫(xiě)在@interface···@end會(huì)無(wú)法識(shí)別,函數(shù)的聲明可以再main函數(shù)內(nèi)部也可以在main函數(shù)外部。

   (5)對(duì)象方法歸類(lèi)\對(duì)象所有

   (6)函數(shù)調(diào)用不依賴(lài)與對(duì)象

   (7)函數(shù)內(nèi)部不能直接通過(guò)成員變量名訪(fǎng)問(wèn)對(duì)象的成員變量

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線(xiàn),公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。

本文名稱(chēng):開(kāi)啟Objective-C-創(chuàng)新互聯(lián)
網(wǎng)站網(wǎng)址:http://muchs.cn/article46/dshgeg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、營(yíng)銷(xiāo)型網(wǎng)站建設(shè)標(biāo)簽優(yōu)化、網(wǎng)站內(nèi)鏈App開(kāi)發(fā)、外貿(mào)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)