您的位置:首页 > 其它

Scala中的类和对象

2016-07-05 23:17 417 查看
类的定义

使用class定义

类的字段
在类中使用var,val定义字段

类的方法
scala中,使用var定义字段默认提供setter和getter方法
对应名称为 value_= 和value

/**
* 类和对象
*/
class TestClass41{
var value = 100
}

object TestObject41 {
//java中类的实例化称之为对象
//scala中对象使用object表示,单独的类型
//提供类似静态字段和静态方法的功能  ,scala不在有静态字段和静态方法
var value = 200
}

object TestScala41{
def main(args: Array[String]): Unit = {
//调用对象中的类型
println(TestObject41.value)

//class类,调用其中内容是需要先实例化
var c = new TestClass41
println(c.value)
}
}


/**
* 类的内容
*/
class TestClass42{
//  @BeanProperty var value = 100
//    private[this] var value = 100
var value = 100

}

object TestScala42 {
def main(args: Array[String]): Unit = {
//class类,调用其中内容是需要先实例化
//scala中默认对类中的字段生产对应setter和getter方法,分别是value_=和value
var c = new TestClass42
c.value_=(200)      //setValue() 方法
println(c.value)   //getValue() 方法
}
}


对象

伴生对象



定义 Object是一种类型,与class非常相似。 Object可以提供java中的静态字段、静态方法的功能。

/**
* 伴生对象
* @author Administrator
*/
class TestObject43{
def display = {
TestObject43.value
}
}

//伴生对象  同名类可以访问伴生对象私有字段
object TestObject43{
private var value = 200
}

object TestScala43 {
def main(args: Array[String]): Unit = {
//println(TestObject43.value)
var c = new TestObject43
println(c.display)
}
}


/**
* 类的基本内容
*/
class TestClass44{
private var value = 100
//在开发中会有自定义setter和getter的时候,所以这个时候不用默认的setter和getter方法.
def setValue(a:Int) {
if(a>0)
this.value = a
}
def getValue = {
this.value
}
}

object TestScala44 {
def main(args: Array[String]): Unit = {
var c = new TestClass44
//c setValue 1000 scala中的简写很多...简写成这样也是可以的.
c.setValue(1000)
println(c.getValue)
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: