zoukankan      html  css  js  c++  java
  • chapter05

    /**
    * Created by EX-CHENZECHAO001 on 2018-03-29.
    */
    class Chapter05 {

    }

    // 类
    // 类中的字段自动带有getter方法和setter方法

    // 5.1 简单类和无参方法
    class Counter {
    private var value = 0 // 必须初始化字段
    def increment(): Unit ={ // 方法默认是仅有的
    value += 1
    }
    def current() = value // 用时可用()也可不用counter.current()
    def currentNew = value // 用时不可用() counter.currentNew
    }

    // 5.2 带getter和setter的属性
    class Person {
    var age = 0
    }

    object Person {
    val person = new Person()
    println(person.age) // getter方法
    person.age = 10
    println(person.age) // getter方法
    }

    class Person2 {
    private var privateAge = 0

    // 变成私有并改名
    def age = privateAge

    def age_=(newValue: Int): Unit = {
    if (newValue > privateAge) {
    privateAge = newValue
    }
    }
    }

    object Person2 {
    val person2 = new Person2()
    person2.age_=(20)
    println(person2.age)
    person2.age_=(11)
    println(person2.age)
    }

    // 如果字段是私有的,则getter和setter方法也是私有的
    // 如果字段是val,则只有getter方法被生成
    // 如果不需要任何getter或setter,可以将字段声明为private[this]

    // 5.3 只带getter的属性
    class Message {
    // scala会生成一个私有的final字段和一个getter方法,但没有setter方法
    val timeStamp = new java.util.Date().getTime

    // 实现属性的4个选择
    // var foo: Scala自动合成一个getter和setter
    // val foo: Scala自动合成一个getter
    // 由你定义foo和foo_=方法
    // 由你来定义foo方法

    }








    object Chapter05 {

    def main(args: Array[String]): Unit = {
    val counter = new Counter()
    counter.increment()
    counter.increment()
    counter.increment()
    println(counter.current())
    println(counter.currentNew)

    Person2
    }






























    }
  • 相关阅读:
    异构数据库同步工具调研
    ubuntu16.04 Golang语言开发环境搭建
    串口USB单一映射及重命名
    linux arm 交叉编译ACE(ubuntu16.04)
    ubuntu16.04 下Mongo数据库搭建
    ubuntu 增加一个用户 并赋予权限
    go 通过http发送图片file内容
    git 简单命令总结
    gitlab ssh_key
    ubuntu16.04 程序开机自启动设置及启动优化
  • 原文地址:https://www.cnblogs.com/chenzechao/p/8671403.html
Copyright © 2011-2022 走看看