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 }
复制代码

 


本文转自SummerChill博客园博客,原文链接:http://www.cnblogs.com/DreamDrive/p/5645393.html,如需转载请自行联系原作者

相关文章
|
Scala
166 Scala 模式匹配和样例类
166 Scala 模式匹配和样例类
211 0
|
Java Scala
Scala 类和对象
Scala 类和对象
186 5
|
Scala
scala-模式匹配(字符串、数组、元组、集合、类、偏函数)
scala-模式匹配(字符串、数组、元组、集合、类、偏函数)
135 0
|
Scala
Scala中的类和对象:定义、创建和使用
Scala中的类和对象:定义、创建和使用
301 1
|
分布式计算 Java 大数据
Scala:样例类、模式匹配、Option、偏函数、泛型(三)
Scala:样例类、模式匹配、Option、偏函数、泛型(三)
215 0
|
Scala
164 Scala 对象
164 Scala 对象
84 0
|
Scala
163 Scala 类
163 Scala 类
122 0
|
设计模式 Ubuntu Java
|
Java 大数据 Scala
大数据开发基础的编程语言的Scala的类和对象
Scala是一种基于JVM的编程语言,它支持面向对象编程和函数式编程。本文将介绍Scala中类和对象的概念和用法,帮助开发者更好地理解和应用这门语言。
154 0
|
存储 分布式计算 Java
一天学完spark的Scala基础语法教程十、类和对象(idea版本)
一天学完spark的Scala基础语法教程十、类和对象(idea版本)
242 0
一天学完spark的Scala基础语法教程十、类和对象(idea版本)