Scala abstract class concept is similar to java abstract class. it is created when there is a need to create a base class which requires constructor arguments.
use case 1:
scala> abstract class Emp (name:String){
def id: Int
}
scala> class PrwatechEmp(name:String) extends Emp(name){
def id = name.hashCode
}

use case 2:
scala> abstract class eduprwa(name:String){
def id: Int
}
scala> class Prwa(name:String) extends Emp(name){
def id = name.hashCode
}

use case 3:
scala> abstract class BigData(name:String){
def id: Double
}
scala> class Training(name:String) extends Emp(name){
def id = name.hashCode
}
