OC 封裝與方法

2021-07-05 21:53:11 字數 1341 閱讀 7654

首先建立乙個類, 包括類的宣告和類的實現

初始化類中的例項變數:

1.重寫init方法, init方法來自於根類.重寫init方法時方法名與原本的init一樣,只是在init實現中,對例項變數進行賦值. 但是重寫init相當於只進行一次賦值,新建的物件的例項變數的初值都一樣,一般不採用

2.自定義init方法,

自定義方法以init 開頭, 之後跟單詞with. 注意: w 要大寫, 自定義方法中例項變數作為方法的返回值,使用self返回多個值,

self

在例項方法中

,代表呼叫該方法的物件.自定義完成之後在建立新的物件的時候可以根據傳得引數的不同得到不同的初始化內容.

自定義init方法中self用法舉例

- (id)initwhithname:(

nsstring

*)name ***:(

nsstring

*)*** age:(

nsinteger

)age height:(

cgfloat

)height weight:(

cgfloat

) weight

//返回

return

self

;//此時的self 是對例項變數賦完值之後的 self}

針對於例項變數的可見度:

如果沒有寫,表示預設為@protected, 受保護的 ,在本類,子類中能夠訪問到, 其他類訪問不到

@public,  公開的, 在本類, 子類, 其他類都能訪問到, 違背了封裝的概念

@private

私有的,只能在本類中訪問到, 違背了繼承的概念

為了不違背封裝和繼承的理念, 系統預設為@protect,所以我們不能直接使用物件訪問例項變數,而是採用物件方法, 通過方法對例項變數進行賦值修改.關於該類方法,可以通過setter方法 進行賦值,通過getter方法獲取到通過setter方法重新賦值的例項變數.

setter方法返回值型別為void, 引數型別

是我們想要得到的例項變數的型別

, 在實現中實將傳入的引數賦給例項變數.

getter方法返回值型別是我們想要得到的例項變數的型別,沒有引數,只是在實現中通過return得到返回值.

但是getter方法(設定器)和getter(訪問器)只能對單一例項變數進行賦值和獲取,繁瑣.

採用多參賦值可以一次性對多個例項變數進行賦值,不屬於getter方法,但是獲取例項變數只能採用getter方法,乙個個的獲取.多參賦值返回值型別為void,引數型別為例項變數的型別

以上都是物件呼叫的方法 — 減號- 方法

+ 號方法是類呼叫的方法, 以 + 開頭,除此,形式與物件方法一樣.

OC 封裝,繼承,多型

就是將一段 裝成乙個整體,將內部的例項變數和方法設定訪問許可權 1.set 方法1.作用 提供乙個方法給外界設定成員變數值,可以在方法裡面對引數進行相應過濾 2.命名規範 1 方法名必須以 set開頭 2 set後面跟上成員變數的名稱,成員變數的首字母必須大寫 3 返回值一定是 void 4 一定要...

OC物件導向 封裝

oc物件導向 封裝 一 物件導向和封裝 物件導向的三大特性 封裝 成員變數 繼承和多型 在oc語言中,使用 inte ce 和 implementation 來處理類。inte ce就好像暴露在外面的時鐘表面,像外界提供展示以及介面。implementation就好像隱藏在時鐘內部的構造實現,把具體...

OC物件導向 封裝

oc物件導向 封裝 一 物件導向和封裝 物件導向的三大特性 封裝 成員變數 繼承和多型 在 oc語言中,使用 inte ce和 implementation來處理類。inte ce就好像暴露在外面的時鐘表面,像外界提供展示以及介面。implementation就好像隱藏在時鐘內部的構造實現,把具體的...