Scala – Method Overriding

In previous post, we have seen what is Inheritance. Now, we will learn about method overriding.

When a subclass has the same name method as defined in the parent class. It is called as method overriding. Method in the parent class provides a specific implementation but when subclass method requires to change that implementation, So it overrides the method in the parent class.

In scala, you must use either override keyword or override annotation to override methods from parent class.

Let’s understand this with an example.

We have a method named message in the parent class GreetingCards. A subclass named Birthday overrides parent class method.

class GreetingCards {

  def message(): Unit ={
    println("Generic message")
  }
}

class Birthday extends GreetingCards {
  override def message(): Unit ={
    println("Birthday wishes!!")
  }

}

When object is created as instance of subclass, method is called from subclass.

object Cards extends App{
  var obj = new Birthday
  obj.message
}
Output:
Birthday wishes!!
Avatar photo

Shekhar Sharma

Shekhar Sharma is founder of testingpool.com. This website is his window to the world. He believes that ,"Knowledge increases by sharing but not by saving".

You may also like...