scala--面向对象(2)

package scala06

object scala07_ABSClass {

//  抽象属性 抽象方法
def main(args: Array[String]): Unit = {
//  抽象类用法
//  实例化子类
val student0 = new Student08
student0.sayHi("lisi")

//  直接实例化抽象类(匿名子类)
//匿名子类 是多态的一种体现 (父类指向子类的实例)
  new Person08 {
  override val name: String = "zhangsan"
  override var age: Int = 18

  override def sayHi(name: String): Unit ={
    println(s"$name")
}

  }
}
//

}

//定义抽象类
//
abstract class Person08{

//抽象属性 scala独有特性
  val name:String
  var age:Int
//  抽象方法
  def sayHi(name:String):Unit


}

//定义子类,用来继承
class Student08 extends Person08{
  override val name: String = "changsan"
  override var age: Int = 18

  override def sayHi(name: String): Unit ={
    println(s"$name")
  }
}

package scala06

object scala08_overWite {
//  抽象类 和子类之间的重写相关内容
def main(args: Array[String]): Unit = {

}

}

//抽象类
abstract 

你可能感兴趣的:(scala,开发语言,后端)