中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

iOS開發篇——OC之面向對象的三大特征

發布時間:2020-06-30 10:45:07 來源:網絡 閱讀:933 作者:藍鷗張浩 欄目:移動開發

藍鷗iOS講師推薦:在學習OC的過程中會遇到面向對象的三大特征,那么它們分別是什么呢?又有怎樣的差異呢?下面和我來了解一下吧!

一、封裝

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

好處:使用更簡單變量更安全可以隱藏內部實現細節開發速度加快

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

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

二、多態

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

實現多態,有二種方式,覆蓋,重載。

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

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

三、繼承

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

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

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

似乎看起來有點復雜,不過內容其實也很簡單了,希望能夠對有需要的同學們有所幫助!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

梁山县| 惠州市| 天峨县| 广灵县| 灵丘县| 和硕县| 洛扎县| 嘉黎县| 肇东市| 吉木乃县| 固阳县| 大冶市| 乌苏市| 常山县| 阳江市| 房产| 庆云县| 垣曲县| 桦川县| 双城市| 荥阳市| 浙江省| 兴安盟| 哈尔滨市| 广丰县| 涟水县| 疏附县| 新兴县| 临清市| 灯塔市| 贞丰县| 禹城市| 女性| 汉源县| 宝应县| 伊春市| 边坝县| 古田县| 饶阳县| 剑河县| 南靖县|