scala--面向对象(2)

发布时间:2023年12月29日
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 
文章来源:https://blog.csdn.net/weixin_74711824/article/details/135296380
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。