Difference between Abstract types and Generics
Abstract types |
Generics |
---|---|
Implemented or extended in Scala programs. |
Takes a class type as a parameter. |
Methods do not have definitions. |
Uses definitions and other types. |
Uses a ‘has-a’ relation. |
Uses an ‘of’ relation. |
Example: Baleno is a car. |
Example: Array of Maps |
Example: “`scala abstract class Animal { type Food val favoriteFood: Food } |
Example: “`scala class Container[T] { def add(item: T): Unit } “` |
Abstract types vs Generics in Scala
In this discussion, we will explore abstract types and generics in Scala, highlighting their differences. Abstract types are types that include abstract members, while generics are types that can take other types as parameters. Let’s delve into the disparities between these two concepts.