很多人推崇kotlin,認(rèn)為語法簡介、優(yōu)雅,再也不用寫冗長的setter/getter方法了。我個(gè)人目前也在使用kotlin,但我有個(gè)問題,就是Java中如果不將屬性設(shè)為private, 而是public,那么同樣不需要寫setter/getter方法?。縦otlin的代碼中,比如:class ProductInfo { var productId:String?=null
var productName:String?=null
var productPrice:BigDecimal?=null
var productStock:Int?=null
var productDescription:String?=null
var productIcon:String?=null
var productStatus:Int?=null
var categoryType:Int?=null
var createTime:Date?=null
var updateTime:Date?=null}也并不是將屬性設(shè)為私有啊。<font color="red"> 很多人都說使用setter/getter是因?yàn)槊嫦驅(qū)ο蟮姆庋b特性,安全之類的,這個(gè)我認(rèn)同,但是為什么kotlin里面就不需要setter/getter呢? </font>
2 回答

慕萊塢森
TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超4個(gè)贊
setter/getter 統(tǒng)一了這個(gè)類的變量修改\獲取值的口子,更加方便你對(duì)這個(gè)類的控制。
比如這個(gè)類的某個(gè)變量我不想讓你去修改它,那我就把set方法刪了就行,
還比如我想要限制set方法設(shè)置的值的范圍,get方法獲取值的時(shí)候,返回一個(gè)比較特殊的值,
這些需求可以很方便的通過setter/getter去設(shè)置,減小對(duì)源代碼的修改,而且擴(kuò)展性更好。
添加回答
舉報(bào)
0/150
提交
取消