• 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 }
  • 相关阅读:
    2020年4月13日
    2021年4月12日
    梦断代码阅读笔记02
    Shell基本命令
    远程链接Linux
    Linux文档与目录结构
    VMware与Centos系统安装
    linux 第一天
    day88 Vue基础
    python 生成随机验证码
  • 原文地址:https://www.cnblogs.com/DreamDrive/p/5645393.html
Copyright © 2020-2023  润新知