getter setter方法 點語法

2021-07-12 03:55:09 字數 1387 閱讀 2233

@inte***ce gun : nsobject

/* setter方法:

作用: 設定成員變數的值

格式:1. setter方法一定是物件方法

2. 一定沒有返回值

3. 一定以set開頭, 並且set後面跟上需要設定的成員變數的名稱去掉下劃線, 並且首字母大寫

4. 一定有引數, 引數型別一定和需要設定的成員變數的型別一致, 並且引數名稱就是成員變數的名稱去掉下劃線

*/- (void)setsize:(int)size;

/* getter方法:

作用: 獲取成員變數的值

格式:1. getter方法一定是物件方法

2.一定有返回值, 而且返回值一定和獲取的成員變數的型別一致

3.方法名稱就是獲取的成員變數的名稱去掉下劃線

4. 一定沒有引數

*/- (int)size;

@end

@implementation gun

- (void)setsize:(int)size;

- (int)size

@end

/*

如果某乙個屬性只提供了getter方法, 沒有提供setter方法, 我們稱這個屬性為唯讀屬性

如果某乙個屬性只提供了setter方法, 沒有提供getter方法, 我們稱這個屬性為只寫屬性

如果某乙個屬性同時提供了setter方法和getter方法, 我們稱這個屬性為可讀可寫的屬性

如果某乙個屬性沒有提供了getter和setter, 我們稱這個屬性為私有屬性

*/

如果給屬性提供了getter和setter方法, 那麼訪問屬性就又多了一種訪問方式 , 點語法

點語法其實它的本質是呼叫了我們的setter和getter方法 點語法是乙個編譯器的特性,

會在程式翻譯成二進位制的時候將.語法自動轉換為setter和getter方法

如果點語法在=號的左邊, 那麼編譯器會自動轉換為setter方法

如果點語法在=號的右邊, 或者沒有等號, 那麼編譯器就會自動轉換為getter方法

person *p = [person new];

p.name = @"scl"

; p.age = 30

; p.height = 1.75

; nslog(@"age = %d, name = %@, height = %f", p.age, p.name, p.height);

/* 點語法的注意點:

點語法一般用於給成員變數賦值, 如果不是給成員變數賦值一般情況下不建議使用, 但是也可以使用

*/

lombok生成getter setter的小陷阱

最近做專案使用lombok生成getter和setter,如下 color red 以下 為示例 color import lombok.setter import lombok.getter getter setter public class member 使用jackson,測試 如下 結果將...

更聰明的getter setter

1 let user 56 setname value 11this.name value 12 13 1415 user.name pete 16 alert user.name pete 1718 user.name name 太短了 屬性 name 屬性特性 get 返回 name set 把...

vue原始碼 getter setter 依賴跟蹤

依賴跟蹤 類有兩個方法 depend和notify depend表示當前正在執行的 收集這種依賴項 notify表示依賴發生改變,任何之前被定義過的表示式,計算,函式都會被通知重新執行,所以我們就需要乙個函式或者一段表示式或者某種演算法讓他們產生關聯,並且可以把這種關係叫做依賴,也可以被認為是訂閱者...