iOS的構造方法和例項方法的區分

2021-07-25 08:26:22 字數 1281 閱讀 5222

1,概念

構造方法:指和類同名,用於構造物件(即生成物件)的方法;

例項方法:指的是在例項生成之後,例項呼叫的方法。

構造方法->構造例項;  

例項產生->呼叫例項方法。

詳細說來,就是類呼叫構造方法,來生成了乙個例項,而這個例項產生了以後,才會呼叫例項方法來完成一些行為。

2,兩者之間的差異

行為差異:構造方法,建立物件後自動呼叫構造方法;

例項方法,必須已經存在物件,並呼叫例項方法。

功能差異:構造方法多用於初始化物件狀態,對屬性賦初值;

例項方法用於實現某個功能

3,舉例說明

構造方法分為系統自帶和自定義構造方法。

(1)如果是系統自帶的構造方法,需要重寫父類中自帶的構造方法 比如init

(2)如果是自定義構造方法:屬於物件方法那麼以 - 號開頭,返回值一般為id型別,方法名一般以init開頭

/***************父類 person.h檔案*************************/

#import

@inte***ce person : nsobject

// @property 預設生成的成員變數為@private型別子類無法直接訪問 可以通過get/set方法訪問

// 年齡

@property

int age;

// 姓名

@property nsstring *name;

// 自定義構造方法 在初始化的時候為屬性"年齡"和"姓名"賦值

- (id)initwithage:(int)age andname:(nsstring *)name;

@end

/*************父類 person.m檔案 *****************************/

#import "person.h"

@implementation

person

// 重寫父類的init方法 父類init方法返回的是id型別就是為了讓任何子類的物件呼叫

- (id)init

// 3.返回已經初始化完畢的物件

return

self;

}// 實現自定義建構函式 在初始化的時候為屬性賦值

- (id)initwithage:(int)age andname:(nsstring *)name

return

self;

}@end

例項方法,構造方法和類方法小結

例項方法 可以通過類的例項呼叫物件的方法,也稱成員方法.構造方法的特點 方法名與類名相同。沒有返回值。沒有return,沒有void 不能被除訪問修飾符外的任何修飾符訪問。不能被子類繼承。父級的構造方法不能被子類呼叫,可以通過super語句呼叫父類的構造方法,加入在子類的構造方法中有super語句,...

iOS 類方法(靜態方法)和例項方法

類方法 例項方法是以 開頭的方法,例項方法是用例項物件訪問 類方法的物件是類而不是例項,通常用來建立物件或者工具類。在例項方法裡,根據繼承原理傳送訊息給self和super其實都是傳送給self 在類方法裡面self是其他的類的類方法,在類方法中給self傳送訊息只能發給類方法self或者是類sup...

Python的類方法,靜態方法,例項方法的區別

在python中常用的類裡面定義的方法有三種 分別是類方法,靜態方法,例項方法 其中類方法需要使用 classmethod裝飾器 靜態方法需要使用 staticmethod裝飾器 類方法引數cls,例項方法引數self,靜態方法相當於寄存在這個類中的方法。類方法可以使用直接呼叫,通過類名.呼叫,例項...