iOS開發(fā)篇——OC之面向?qū)ο蟮娜筇卣?創(chuàng)新互聯(lián)

藍鷗iOS講師推薦:在學習OC的過程中會遇到面向?qū)ο蟮娜筇卣?,那么它們分別是什么呢?又有怎樣的差異呢?下面和我來了解一下吧!

網(wǎng)站建設哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、成都小程序開發(fā)、集團企業(yè)網(wǎng)站建設等服務項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了興山免費建站歡迎大家使用!

一、封裝

封裝是對象和類概念的主要特性。它是隱藏內(nèi)部實現(xiàn),穩(wěn)定外部接口,可以看作是“包裝”。封裝,也就是把客觀事物封裝成抽象的類,并且類可以把自己的數(shù)據(jù)和方法只讓可信的類或者對象操作,對不可信的進行信息隱藏。

好處:使用更簡單變量更安全可以隱藏內(nèi)部實現(xiàn)細節(jié)開發(fā)速度加快

OC中一個類可以繼承另一個類,被繼承的類成為超類(superclass),繼承的類是子類(childclass),可以直接擁有父類中所有非私有成員(相關實例變量)、方法。繼承的實現(xiàn)在接口中使用符號“:”。

舉個例子:@interfaceStudent:NSObject{}不過大家要注意的是:屬性封裝實例變量,方法封裝具體實現(xiàn)代碼,類封裝屬性和方法。子類可繼承父類中的方法,還可重寫父類方法。

二、多態(tài)

多態(tài)性(polymorphism)是允許你將父對象設置成為和一個或更多的他的子對象相等的技術,賦值之后,父對象就可以根據(jù)當前賦值給它的子對象的特性以不同的方式運作。簡單的說,就是一句話:允許將子類類型的指針賦值給父類類型的指針。不同對象以自己的方式響應相同的消息的能力叫做多態(tài)。意思就是假設生物類(life)都用有一個相同的方法-eat;那人類屬于生物,豬也屬于生物,都繼承了life后,實現(xiàn)各自的eat,但是調(diào)用是我們只需調(diào)用各自的eat方法。也就是不同的對象以自己的方式響應了相同的消息(響應了eat這個選擇器)。

實現(xiàn)多態(tài),有二種方式,覆蓋,重載。

1)覆蓋:是指子類重新定義父類的虛函數(shù)的做法。

2)重載:是指允許存在多個同名函數(shù),而這些函數(shù)的參數(shù)表不同(或許參數(shù)個數(shù)不同,或許參數(shù)類型不同,或許兩者都不同)。

三、繼承

面向?qū)ο缶幊?OOP)語言的一個主要功能就是“繼承”。繼承是指這樣一種能力:它可以使用現(xiàn)有類的所有功能,并在無需重新編寫原來的類的情況下對這些功能進行擴展。

通過繼承創(chuàng)建的新類稱為“子類”或“派生類”,被繼承的類稱為“基類”、“父類”或“超類”。繼承的過程,就是從一般到特殊的過程。在考慮使用繼承時,有一點需要注意,那就是兩個類之間的關系應該是“屬于”關系。例如,Employee是一個人,Manager也是一個人,因此這兩個類都可以繼承Person類。但是Leg類卻不能繼承Person類,因為腿并不是一個人。

本章小結:封裝可隱藏實現(xiàn)細節(jié),使代碼模塊化;繼承可擴展已存在的代碼模塊(類);它們最終需要的結果(代碼重用)。多態(tài)是為了實現(xiàn)另一個目的(接口重用)。多態(tài)的作用,就是為了類在繼承和派生的時候,保證使用“家譜”中任一類的實例的某一屬性時的正確調(diào)用。

似乎看起來有點復雜,不過內(nèi)容其實也很簡單了,希望能夠?qū)τ行枰耐瑢W們有所幫助!

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

網(wǎng)頁名稱:iOS開發(fā)篇——OC之面向?qū)ο蟮娜筇卣?創(chuàng)新互聯(lián)
本文鏈接:http://bm7419.com/article32/diodsc.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)域名注冊、商城網(wǎng)站、營銷型網(wǎng)站建設全網(wǎng)營銷推廣、網(wǎng)站制作

廣告

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

成都定制網(wǎng)站建設