📜  Scala方法覆盖

📅  最后修改于: 2021-01-09 11:47:36             🧑  作者: Mango

Scala方法覆盖

当子类具有与父类中定义的相同的名称方法时,则称为方法覆盖。当子类想要为父类中定义的方法提供特定的实现时,它将覆盖父类中的方法。

在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