一起Talk IOS吧(第十四回 類中方法的定義和使用)
看官們,我們在上一章回中介紹類中封裝相關的內容,封裝的內容中包含方法,我們當時只做了簡單的說明,本章回我們全面介紹方法的定義與使用。
我們先給一個定義方法的模板:
-(type1) funcName:(type2)param1 and:(type3) param2;
接下來我們對該模板進行解釋。
- 模板中的減號表示該方法為類的物件擁有,也可以換成加號,它們的區別我們在上一章回中介紹過;
- type1表示方法的返回型別,型別可以是基本型別或者複合型別,如果沒有返回值,那麼就寫void;
- type2和type3都方法引數的型別,和tyep1一樣,它們可以是基本型別或者複合型別;
- param1和param2是引數的名字;
- 方法的名字是funcName:and:,這裡的and可以省略,但是冒號不能省略,不過在實際中我們建議保留and,因為通過它可以直觀地明白引數的含義。就像我們在上一章回中的示例程式碼:connect:and:方法。一看就知道是把兩個值連線到了一起。
關於方法的引數可以依據需要來確定,可以是一個,多個或者沒有引數,如果沒有引數就不需要冒號以及後面的內容了。特別地強調一下,OC的方法定義語法比較特殊,剛開始接觸
時會有點不習慣,不過用多以後就習慣了。
看官們,如果明白方法的定義後,理解方法的實現就容易,只需要在方法定義後面加上一個大括號,然後把實現方法的內容放到大括號中就可以。是不是很容易。不過看官們不要高興的太早,雖然我們現在已經知道了如果去定義和實現方法,但是如何使用方法仍然是一個不小的挑戰。接下來我們一起完成這個挑戰。
首先列出使用方法的模板:
[responser funcName]
- 在模板中我們藉助中括號來使用方法;
- responser可以是類的物件或者類本身;
- funcName是方法的名稱;
使用類或者類的物件呼叫方法。另外在有些地方會把呼叫方法的這種機制叫作訊息傳遞或者訊息響應。總之,不管它叫什麼,本質上都是使用方法。
最後我們對本章回的內容做一下總結:
- 1.定義方法的標準模板:
-(type1) funcName:(type2)param1 and:(type3) param2
; - 2.使用方法的模板:
[responser funcName]
; - 3.在OC中定義和使用方法的語法都比較特殊,希望大家在參考上一章回程式碼的同時,多加練習;
看官們,欲知後事如何且聽下回分解!
相關文章
- 一起Talk IOS吧(第十八回 OC中的繼承例項)iOS繼承
- 一起Talk IOS吧(第十回 複合型別中的指標)iOS型別指標
- 一起Talk IOS吧(第七回 OC中基本型別的程式碼演示)iOS型別
- 面向1-類和物件-方法、new的定義和使用物件
- javaSE-day04--ArrayList基本用方法、類內定義方法和方法過載、靜態方法static(類的方法)、工具方法(static)的定義和使用Java
- 內部類中的成員的定義和使用
- 一起Talk IOS吧(第十二回 OC中程式結構程式碼演示)iOS
- scala----常用方法 類的定義
- Shell中函式的定義和使用函式
- 方法的作用和定義
- Python中類的建立和使用方法Python
- Java方法02:方法的定義和呼叫Java
- 包裝類的定義,API的使用和快取問題API快取
- Python中如何使用構造方法定義類Python構造方法
- 物件導向中類和物件的定義是什麼?物件
- 類的定義
- 變數的定義和使用變數
- Java類方法(定義一個工具類,儲存一些常用的方法)Java
- IDEA2020.2版本設定類和方法的自定義註釋模板Idea
- vue 常量定義和使用Vue
- Retrofit2.5是如何解析在介面類中定義的請求方法?
- MySQL中變數的定義和變數的賦值使用MySql變數賦值
- 一起學React--元件定義和元件通訊React元件
- Dcat Admin::script定義的方法無法使用
- 類定義介面
- UVM transaction 定義 方法和用法(未完)
- 模型的列表定義中,使用函式時如何定義引數?模型函式
- c#抽象類的定義C#抽象
- 使用 Route macro 來定義 Route 的新方法Mac
- python中物件導向_類_物件的概念與定義Python物件
- ts類中屬性定義的另一種方式
- Day17方法的定義和呼叫
- 實體類定義陣列物件,和物件陣列物件
- jquery中siblings方法配合什麼方法一起使用jQuery
- 類定義(class definition)
- 關於C++類的定義和物件的建立詳解C++物件
- 物件導向:類的定義和繼承的幾種方式物件繼承
- 回撥和spring的LambdaSafe類Spring