本文概述
当子类具有与父类中定义的相同的名称方法时, 则称为方法覆盖。当子类想要为父类中定义的方法提供特定的实现时, 它将覆盖父类中的方法。
在scala中, 必须使用override关键字或override批注来覆盖父类中的方法。
Scala方法覆盖示例1
class Vehicle{
def run(){
println("vehicle is running")
}
}
class Bike extends Vehicle{
override def run(){
println("Bike is running")
}
}
object MainObject{
def main(args:Array[String]){
var b = new Bike()
b.run()
}
}
输出
Bike is running
方法覆盖的真实示例
流程图
Scala方法覆盖示例2
本示例说明子类如何覆盖父类的方法。
class Bank{
def getRateOfInterest()={
0
}
}
class SBI extends Bank{
override def getRateOfInterest()={
8
}
}
class ICICI extends Bank{
override def getRateOfInterest()={
7
}
}
class AXIS extends Bank{
override def getRateOfInterest()={
9
}
}
object MainObject{
def main(args:Array[String]){
var s=new SBI();
var i=new ICICI();
var a=new AXIS();
println("SBI Rate of Interest: "+s.getRateOfInterest());
println("ICICI Rate of Interest: "+i.getRateOfInterest());
println("AXIS Rate of Interest: "+a.getRateOfInterest());
}
}
输出
SBI Rate of Interest: 8
ICICI Rate of Interest: 7
AXIS Rate of Interest: 9