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.

Similar Reads

Scala Abstract Types vs Generics

Abstract Type:...

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 } “`...