scala 判断字段 是不是 日期类型_好程序员大数据教程分享Scala系列之抽象类

好程序员大数据教程分享Scala系列之抽象类

3a05cd5b42ea4d0107657bbeca8e72ab.png

好程序员

1抽象类的定义

定义一个抽象类:

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

abstract class Person{

//没有初始值,抽象字段

var name:String

//没有方法体,是抽象方法

def id: Int

}

class Employ extends Person{

var name:String="Fred"

//实现,不需要overide关键字

def id = name.hashCode

}

2抽象类的应用

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

trait Buffer {

type T

val element: T

}

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

abstract class SeqBuffer extends Buffer {

type U

//

type T <: seq>

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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值