小小千想和您聊一聊

当前位置: 首页> 技术分享> Scala系列之抽象类

Scala系列之抽象类

  抽象类

  5.3.1抽象类的定义

  定义一个抽象类:

  如果某个类至少存在一个抽象方法或一个抽象字段,则该类必须声明为abstract。

abstract class Person{
//没有初始值,抽象字段
var name:String
//没有方法体,是抽象方法
def id: Int

}

class Employ extends Person{
var name:String="Fred"
//实现,不需要overide关键字
def id = name.hashCode

}

  5.3.2抽象类的应用

  定义带有抽象类型成员的特质:

  定义一个抽象类,增加类型的上边界

trait Buffer {
  type T
  val element: T
}
定义一个抽象类,增加类型的上边界
abstract class SeqBuffer extends Buffer {
  type U
  //
  type T <: Seq[U]
  def length = element.length
}
abstract class IntSeqBuffer extends SeqBuffer {
  type U = Int
}
abstract class IntSeqBuffer extends SeqBuffer {
  type U = Int
}

//使用匿名类将 type T 设置为 List[Int]
def newIntSeqBuf(elem1: Int, elem2: Int): IntSeqBuffer =
  new IntSeqBuffer {
       type T = List[U]
       val element = List(elem1, elem2)
     }
val buf = newIntSeqBuf(7, 8)
println("length = " + buf.length)
println("content = " + buf.element)

上一篇:Scala系列之闭包

下一篇:Python SMTP发送邮件

QQ技术交流群

千锋大数据官方①群
857910996

加入群聊

用户登录

手机号:

密码:

图形验证码:

点击切换

用户注册

手机号:

登录密码:

图形验证码:

点击切换

短信验证码:

获取验证码

忘记密码

1安全验证

2重置密码

手机号:

图形验证码:

短信验证码:

获取验证码

忘记密码

1安全验证

2重置密码

新密码:

确认新密码:

获取课程

添加小千老师微信,获取课程信息

如何获取课程?

一、需拥有此本教材

如没有,可点击下方入口购买当当购买入口京东购买入口

二、添加小千老师,发送拥有凭证,解锁课程资源

1.购买该教材的订单信息
2.拥有的实体书信息等

更换手机号

新手机号:

图形验证码:

短信验证码:

获取验证码