抽象类

21 阅读1分钟

抽象方法: 没有等号,就是一个抽象的方法。他需要在子类中去实现

object Class011 {
  abstract class DreamJob(){
    var vacation: Int
    var boss : String
    //具体属性
    var name :String = "理想工作"
    def addMoney():Unit

    def getMoney():Unit = {
      println(s"发工资:${money}元")
    }

子类:具体类

class PE extends DreamJob{
  var money: Double = 14500
  var vacation: Int = 4
  var boss: String = "无人"

  def addMoney():Unit = {
    money *= 1.1
  }
  override def getMoney():Unit ={
    println(s"上银行卡:${money}元")
  }
}
def main(args:Array[String]):Unit = {
  val pel = new PE()
  pe1.addMoney()
  pe1.getMoney()
}

内部类:在类的内部,写另一个类


/*
*多个类之间的关系:继承

 */
object Class012 {
 class B1 {
   def say ():Unit = {
     print("B1.....")
   }
 }
}
def main (args:Array[String]): Unit = {
  //1.创建一个c1对象
  val c1 = new c1()
  //2. 创建一个B1的对象
  val b1 = new c1.B1()
  b1.say()
}