设为首页 加入收藏

TOP

Scala面向对象(五)
2023-07-23 13:24:52 】 浏览:650
Tags:Scala 向对象
); Product.$init$(this); } }

case class 和 class 的一些区别:

  1. case class 在初始化的时候,不用 new,而普通类初始化时必须要 new。
  2. case class 重写了 toString 方法。 默认实现了 equals 和 hashCode
  3. case class 实现了序列化接口 with Serializable
  4. case class 支持模式匹配(最重要的特征),所有 case class 必须要有参数列表
  5. 有参数用 case class,无参用 case object

继承和多态

基本语法
class 子类名 extends 父类名 { 类体 }
(1)子类继承父类的属性和方法
(2)scala 是单继承
案例实操:
(1)子类继承父类的属性和方法
(2)继承的调用顺序:父类构造器->子类构造器

class Person(nameParam: String) {
 var name = nameParam
 var age: Int = _
 def this(nameParam: String, ageParam: Int) {
 this(nameParam)
 this.age = ageParam
 println("父类辅助构造器")
 }
 println("父类主构造器")
}
class Emp(nameParam: String, ageParam: Int) extends 
Person(nameParam, ageParam) {
 var empNo: Int = _
 def this(nameParam: String, ageParam: Int, empNoParam: Int) {
 this(nameParam, ageParam)
 this.empNo = empNoParam
 println("子类的辅助构造器")
 }
  println("子类主构造器")
}
object Test {
 def main(args: Array[String]): Unit = {
 new Emp("z3", 11,1001)
 }
}
首页 上一页 2 3 4 5 6 7 8 下一页 尾页 5/8/8
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Scala集合 下一篇Scala

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目