Scala類的屬性以及物件私有欄位
點選(此處)摺疊或開啟
-
class Person {
-
private var age = 0
-
def increment(){age += 1}
-
def current = age
-
}
-
-
class Student{
-
var age = 0
-
}
-
-
object HelloOOP {
-
def main(args: Array[String]): Unit = {
-
val person = new Person()
-
person.increment()
-
println(person.current)
- }
var age = 0
在scala裡面,定義一個屬性必須要手動賦值,不像在java裡面,會預設賦值0
這裡,scala預設屬性是private的,而且也會預設生成共有的setter、getter方法。但是如果屬性被顯示宣告為private,那麼預設會生成private的getter、setter
val age = 0
對於val,scala會預設加上final,並且只生成getter方法,沒有setter方法
private[this] var age = 0
scala特有,物件私有屬性,這種屬性只有本物件可以訪問,該類的其它物件不能訪問。透過這種機制實現例項成員的隔離。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28912557/viewspace-1825676/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Scala的類、屬性、物件欄位物件
- 修改物件私有屬性物件
- 深入理解JavaScript類與物件:揭秘類欄位和靜態屬性的妙用,js靜態屬性和例項屬性JavaScript物件JS
- js 物件方法、類方法、原型方法的區別;私有屬性、公有屬性、公有靜態屬性的區別JS物件原型
- C#通過反射獲取物件屬性,列印所有欄位屬性的值C#反射物件
- [.net 物件導向程式設計基礎] (10) 類的成員(欄位、屬性、方法)物件程式設計
- odoo欄位屬性列舉Odoo
- C#屬性與欄位C#
- MongoDB文件物件欄位屬性合併的2種轉換方法MongoDB物件
- 私有屬性
- Python - 物件導向程式設計 - 公共屬性、保護屬性、私有屬性Python物件程式設計
- 理解物件以及物件的屬性、方法、事件 (轉)物件事件
- 共有的表單欄位屬性
- ms sql 獲取表欄位的屬性SQL
- Scala 類和物件物件
- scala類和物件物件
- lambda方法引用獲取欄位屬性
- c#之事件_方法_屬性_欄位C#事件
- 利用 alter 語句修改欄位屬性
- Scala中的包以及包物件物件
- jackson根據屬性名動態序列化物件欄位物件
- 難道是瘋了,要讀寫物件的私有屬性!物件
- JavaScript私有屬性和靜態屬性JavaScript
- C#中的屬性和欄位的區別C#
- python中類物件及類屬性的介紹Python物件
- PHP 物件導向 (二)類屬性PHP物件
- 協議中的私有屬性協議
- odoo ORM研究3 - odoo fields常用的欄位屬性OdooORM
- Python中的私有屬性與私有方法Python
- 理解Python中的類物件、例項物件、屬性、方法Python物件
- 裝備屬性欄位設計和投放詳解
- [JAVA] 只知物件屬性,不知類屬性?就算類答應,static都不答應Java物件
- 私有setter公有getter屬性
- PG 資料庫查詢欄位屬性的指令碼資料庫指令碼
- 私有屬性的Get Set 與 Public
- 常用的瀏覽器私有屬性瀏覽器
- 波哥學JAVA,定義類 宣告屬性 建立物件 例項化物件 物件呼叫屬性或者方法Java物件
- 通過java反射,遞迴查詢物件所有屬性,為空也要返回欄位的結構Java反射遞迴物件