Scala方法覆盖

Scala方法覆盖

继承是面向对象的概念,用于代码的可重用性。可以通过使用extends关键字来实现继承。 为了实现继承,一个类必须扩展到其他类,被扩展类称为超类或父类。扩展的类称为派生类或子类。

示例

class SubClassName extends SuperClassName(){  
    /* Write your code  
     *  methods and fields etc. 
     */  
 }

继承的简单例子

Scala单继承示例

class Employee{  
    var salary:Float = 11100  
}  

class Programmer extends Employee{  
    var bonus:Int = 5100  
    println("Salary = "+salary)  
    println("Bonus = "+bonus)  
}  

object Demo{  
    def main(args:Array[String]){  
        new Programmer()  
    }  
}

将上面代码保存到源文件:Demo.scala中,使用以下命令编译并执行代码 -

D:\software\scala-2.12.3\bin>scalac Demo.scala
D:\software\scala-2.12.3\bin>scala Demo
Salary = 11100.0
Bonus = 5100

Scala继承类型

Scala支持各种类型的继承,包括单一,多层次,多重和混合。可以在类中使用单一,多层次和层次结构。多重和混合只能通过使用特征来实现。在这里,通过使用图形表示所有类型的继承。

class A{  
    var salary1 = 10000  
}  

class B extends A{  
    var salary2 = 20000  
}  

class C extends B{  
    def show(){  
        println("salary1 = "+salary1)  
        println("salary2 = "+salary2)  
    }  
}  

object Demo{  
    def main(args:Array[String]){
        var c = new C()  
        c.show()  

    }  
}

将上面代码保存到源文件:Demo.scala中,使用以下命令编译并执行代码 -

D:\software\scala-2.12.3\bin>scalac Demo.scala
D:\software\scala-2.12.3\bin>scala Demo
salary1 = 10000
salary2 = 20000