package com.wy.scala.oop
/**
* @author Lewis
*/
class AbstractClassOps{
var id : Int = _
//错误写法,在普通类中 定义变量或常亮,需要赋值
//var id : Int
}
//定义一个抽象类
abstract class SuperTeacher(val name:String){
//抽象类中的字段和方法,不必重复声明abstract,亦可以没有其实现
var id : Int
var age : Int
def teach
}
class TeacherForMath() extends SuperTeacher("a"){
//实现类重写抽象类的字段、方法,需要加上override(业界标准),不加也没有错
override var id = 1
//var id = 1
override var age = 30
override def teach{
println("hello")
}
}
object AbstractClassOps {
def main(args: Array[String]): Unit = {
val teacher = new TeacherForMath
teacher.teach
println("teacher.id : " + teacher.id)
println(teacher.name + " : " + teacher.age)
}
}
Scala深入浅出实战经典:13,抽象类、抽象字段、抽象方法
最新推荐文章于 2020-02-13 21:27:49 发布