Scala中的类和对象

类的定义

使用class定义

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

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

 1 /**
 2  * 类和对象
 3  */
 4 class TestClass41{
 5   var value = 100
 6 }
 7 
 8 object TestObject41 {
 9   //java中类的实例化称之为对象
10   //scala中对象使用object表示,单独的类型
11   //提供类似静态字段和静态方法的功能  ,scala不在有静态字段和静态方法
12   var value = 200
13 }
14 
15 object TestScala41{
16   def main(args: Array[String]): Unit = {
17     //调用对象中的类型
18     println(TestObject41.value)
19     
20     //class类,调用其中内容是需要先实例化
21     var c = new TestClass41
22     println(c.value)
23   }
24 }

 

 1 /**
 2  * 类的内容
 3  */
 4 class TestClass42{
 5 //  @BeanProperty var value = 100
 6 //    private[this] var value = 100
 7   var value = 100
 8   
 9 }
10 
11 object TestScala42 {
12   def main(args: Array[String]): Unit = {
13     //class类,调用其中内容是需要先实例化
14     //scala中默认对类中的字段生产对应setter和getter方法,分别是value_=和value
15     var c = new TestClass42
16     c.value_=(200)      //setValue() 方法
17     println(c.value)   //getValue() 方法
18   }
19 }

对象 

伴生对象

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

 1 /**
 2  * 伴生对象
 3  * @author Administrator
 4  */
 5 class TestObject43{
 6   def display = {
 7     TestObject43.value
 8   }
 9 }
10 
11 //伴生对象  同名类可以访问伴生对象私有字段
12 object TestObject43{
13   private var value = 200
14 }
15 
16 object TestScala43 {
17     def main(args: Array[String]): Unit = {
18     //println(TestObject43.value)
19     var c = new TestObject43
20     println(c.display)
21   }
22 }

  

 1 /**
 2  * 类的基本内容
 3  */
 4 class TestClass44{
 5   private var value = 100
 6   //在开发中会有自定义setter和getter的时候,所以这个时候不用默认的setter和getter方法.
 7   def setValue(a:Int) {
 8     if(a>0)
 9     this.value = a
10   }
11   def getValue = {
12     this.value
13   }
14 }
15 
16 object TestScala44 {
17   def main(args: Array[String]): Unit = {
18        var c = new TestClass44
19        //c setValue 1000 scala中的简写很多...简写成这样也是可以的.
20        c.setValue(1000) 
21        println(c.getValue)
22   }  
23 }

 

posted @ 2016-07-05 23:17  SummerChill  阅读(454)  评论(0编辑  收藏  举报