DT大数据梦工厂 温故而知新 之13讲

王家林亲授 大数据开发语言《Scala深入浅出实战经典》(1-71讲全部视频、代码、PPT)下载 ,总共有140讲Scala视频!
百度云: http://pan.baidu.com/s/1jGjFpWy
腾讯微云: http://url.cn/TnGbdC

360云盘:http://yunpan.cn/cQ4c2UALDjSKy 访问密码 45e2


DT大数据梦工厂 温故而知新 之13讲scala 中的抽象类的使用

package TestPractice


/**
 * @author Administrator
 */
object AbstractDemo {
   def main(args: Array[String]) {
    //创建父类型引用操作子类型对象
    val p: Person = new Student
    //使用对象
    p.eat
    println(p.name + "\t" + p.age)
  }


}




//定义一个抽象类,使用abstract class
abstract class Person {
  //定义一个抽象字段
  val name: String
  //定义一个具体字段
  val name2: String = "person"
  var age: Int
  var age2: Int = 15


  //定义一个抽象方法,不需要abstract关键字
  def eat
}


class Student extends Person {
  //重写父类的抽象字段
  override val name: String = "zhangsan"
  //重写父类的具体字段
  override val name2: String = "stuend"
  override var age: Int = 19




  //重写父类的抽象方法,其中override可以省略
  override def eat: Unit = {
    println("student eating....")
  }
}
总结  定义一个抽象类,使用abstract class 定义一个抽象方法,不需要abstract关键字  定义一个抽象字段 不需要复赋值 可以用占位符来代替  重写父类的具体字段直接赋值   重写父类的抽象方法,其中override可以省略  父类中的字段子类必须被override 

你可能感兴趣的:(scala)