美文网首页函数式编程
scala:构造方法与apply

scala:构造方法与apply

作者: 木山手札 | 来源:发表于2020-01-31 10:33 被阅读0次
  • scala中分主构造方法、辅助构造方法,辅助构造方法必须调用主构造方法
class Person(name:String,age:Int){ // 主构造方法
  this(name:String,age:Int,address:String){ // 辅助构造方法
    this(name,age) // 必须调用主构造方法
  }
}
  • 构造方法参数作用域
/**
  * 主构造器中的参数name是Cat1中的局部变量
  * @param name
  */
class Cat1(name:String){

}

/**
  * 主构造器中的参数使用val声明,会被当作类中的只读属性,有getter,类外部可以方法,但不能赋值
  * @param name
  */
class Cat2(val name:String){

}

/**
  * var声明的nane是读写属性
  * @param name
  */
class Cat3(var name:String){}
  • 如果父类有主构造方法,子类要显示调用父类的主构造方法
class A(name: String) {

}
class B(name: String, age: Int) extends A(name) { // 显示调用父类的主构造方法
  def this(name: String, age: Int, address: String) {
    this(name, age) // 调用子类主构造方法
  }
}
  • apply方法初始化对象
class Pig(var name: String) {
  def info: Unit = println(name)
}

object Pig {
  def apply(name: String): Pig = new Pig(name)
}

val p = new Pig("new佩奇")
p.info
val pig = Pig("apply佩琦")//调用apply方法
pig.info

相关文章

  • scala:构造方法与apply

    scala中分主构造方法、辅助构造方法,辅助构造方法必须调用主构造方法 构造方法参数作用域 如果父类有主构造方法,...

  • Scala解密:Apply方法与构造函数

    1. apply 方法 当我们想使用如下形式的表达式时,我们通常会定义和使用对象的apply方法 Object(参...

  • Scala 从Array数组的构造过程理解apply()

    apply()方法 在伴生对象中使用 在scala中apply可以存在在class中和object中,但是最常用的...

  • JS | 构造函数的继承

    &&& 1.使用call和apply方法 这种方法是最简单的方法,使用call和apply方法,.把父对象的构造函...

  • Scala编程基础28:Scala提取器

    Scala提取器就是一个带有unapply方法的对象。unapply方法时apply方法的反向操作:unapply...

  • Scala 学习笔记

    一、Scala 基础 变量 定义方法和函数 定义方法: 定义函数: 3. apply 方法 通常我们会在类的伴生对...

  • Geotrellis 常用的类

    GridExtent :地理范围内抽象 的网格构造方法: apply(extent: Extent, ...

  • 继承

    1.构造函数实现继承,具体:在构造函数中,使用apply()和call()方法实现继承 function Pers...

  • 2019-06-14

    创建对象的方法 1、单体 2、工厂模式 2、构造函数 3、原型模式 copy和apply call和apply的区...

  • 2019-06-13

    创建对象的方法 1、单体 2、工厂模式 2、构造函数 3、原型模式 copy和apply call和apply的区...

网友评论

    本文标题:scala:构造方法与apply

    本文链接:https://www.haomeiwen.com/subject/pfcgthtx.html