藍鷗iOS講師推薦:在學習OC的過程當中會遇到面向對象的三大特徵,那麼它們分別是什麼呢?又有怎樣的差別呢?下面和我來了解一下吧!編程
1、封裝安全
封裝是對象和類概念的主要特性。它是隱藏內部實現,穩定外部接口,能夠看做是「包裝」。封裝,也就是把客觀事物封裝成抽象的類,而且類能夠把本身的數據和方法只讓可信的類或者對象操做,對不可信的進行信息隱藏。ide
好處:使用更簡單變量更安全能夠隱藏內部實現細節開發速度加快模塊化
OC中一個類能夠繼承另外一個類,被繼承的類成爲超類(superclass),繼承的類是子類(childclass),能夠直接擁有父類中全部非私有成員(相關實例變量)、方法。繼承的實如今接口中使用符號「:」。函數
舉個例子:@interfaceStudent:NSObject{}不過你們要注意的是:屬性封裝實例變量,方法封裝具體實現代碼,類封裝屬性和方法。子類可繼承父類中的方法,還可重寫父類方法。學習
2、多態spa
多態性(polymorphism)是容許你將父對象設置成爲和一個或更多的他的子對象相等的技術,賦值以後,父對象就能夠根據當前賦值給它的子對象的特性以不一樣的方式運做。簡單的說,就是一句話:容許將子類類型的指針賦值給父類類型的指針。不一樣對象以本身的方式響應相同的消息的能力叫作多態。意思就是假設生物類(life)都用有一個相同的方法-eat;那人類屬於生物,豬也屬於生物,都繼承了life後,實現各自的eat,可是調用是咱們只需調用各自的eat方法。也就是不一樣的對象以本身的方式響應了相同的消息(響應了eat這個選擇器)。指針
實現多態,有二種方式,覆蓋,重載。對象
1)覆蓋:是指子類從新定義父類的虛函數的作法。繼承
2)重載:是指容許存在多個同名函數,而這些函數的參數表不一樣(或許參數個數不一樣,或許參數類型不一樣,或許二者都不一樣)。
3、繼承
面向對象編程(OOP)語言的一個主要功能就是「繼承」。繼承是指這樣一種能力:它可使用現有類的全部功能,並在無需從新編寫原來的類的狀況下對這些功能進行擴展。
經過繼承建立的新類稱爲「子類」或「派生類」,被繼承的類稱爲「基類」、「父類」或「超類」。繼承的過程,就是從通常到特殊的過程。在考慮使用繼承時,有一點須要注意,那就是兩個類之間的關係應該是「屬於」關係。例如,Employee是一我的,Manager也是一我的,所以這兩個類均可以繼承Person類。可是Leg類卻不能繼承Person類,由於腿並非一我的。
本章小結:封裝可隱藏實現細節,使代碼模塊化;繼承可擴展已存在的代碼模塊(類);它們最終須要的結果(代碼重用)。多態是爲了實現另外一個目的(接口重用)。多態的做用,就是爲了類在繼承和派生的時候,保證使用「家譜」中任一類的實例的某一屬性時的正確調用。
彷佛看起來有點複雜,不過內容其實也很簡單了,但願可以對有須要的同窗們有所幫助!