IOS Objective-C 協議,委託

  IOS開發使用的語言Objective-C(如下簡稱OBJ-C)是一種擴展自C語言的面嚮對象語言。在OBJ-C中有一個很重要概念:消息。在最近的學習當中逐漸對消息機制有了一些瞭解,逐漸體會到了OBJ-C的一些設計理念,同時也更加適應了使用它來編程。面向對象在不一樣的編程語言的編程語言裏面雖然實現的方式不一樣,可是不少東西都是異曲同工的。之前我習慣用JAVA進行面向對象編程,因此在使用OBJ-C的時候我會用之前JAVA的一些概念來類比。今天主要想說一下本身對OBJ-C裏面的一個協議@protocol。我本身的感受protocol和java裏面的interface做用是同樣的,用於限定一種特定類的「交流方式」。之前在課堂上看教材上面寫的是interface是用來解決JAVA多重繼承的問題。對於我來講這不是一個很好的答案,我以爲多重繼承基本就是沒有用處的(我的理解),由於這樣大大增強了類之間的耦合性。而interface更好的用處是規定一組藉口調用方式。java

  在接口裏面只有方法的聲明不用實現,須要使用這種通訊方式的類本身實現其中的方法。這樣的話達到了使用統一,功能多樣化的目的。而在OBJ-C裏面,乾脆把這個東西叫作協議了,這樣就更直觀了。編程

  OBJ-C裏面還有一種叫作委託的機制,這是面向對象裏面比較經常使用的一種設計模式。在我我的的理解,一個類有一個委託的話,這個類就能夠給委託發送特定的消息。而這種特定的消息究竟是什麼,通常都是經過協議來規定的。具體:我把發送消息的叫作sender,把消息的接受方叫作reciever,若是reciever要成sender的委託的話,他們之間要有一種發送消息的規範sender按照規範發送消息,而reciever也要按照規範的方式處理信息。消息的規範就是由協議protocol定義的。設計模式

  以上都屬我的觀點,謹以此記錄本身的學習進程。編程語言

相關文章
相關標籤/搜索