O'Reilly logo

Learning Scala Programming by Vikash Sharma

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Abstract types

Okay, first things first. We tried to achieve abstraction when we introduced type parameterizing. We will do the same thing using abstract type members. But what's an abstract type member? How do we write them, how can we use them, and why do we even need them when we already have parameterized types? These are a few questions. We'll try answering them. So let's start with the first question. How do we write an abstract type. This is done as follows:

trait ThinkingInTermsOfT { 
      type T 
} 

Okay, we just wrote a trait named ThinkingInTermsOfT and it has an abstract type member. So, to declare an abstract type member we use the keyword type along with the parameter name that in our case is T. From our elementary Scala introduction ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required