This post is the introduction and overview to the Object Oriented Programming in Scala post series. Covers what you can expect to learn in this series of posts
We set the scene and start our look at objected oriented programming in Scala by exploring some of the basics in this post.
In Scala there are numerous method notations and shorthand ways of writing method calls, we will look at a few of them in this post
A deeper dive on objects in Scala, including how they can be used to replace the traditional "static" keyword from Java
See how to use inheritance and traits in Scala, including how to use constructors and access modifiers. The concept of inheritance is similar in Scala to other languages
In this post we will look at the concept of generics in Scala, and how we can use them on multiple (potentially unrelated) data types
Follow up your learnings of inheritance and traits in Scala with an in-depth look at Anonymous Classes. Includes how the compiler instantiates anonymous classes
Expand on the MyList application developed previously, turning it into a complete covariant generic list. This in-depth post covers a lot of ground previously seen in our journey up till now
Case classes are a small but very powerful feature of Scala. They are a way of defining light data structures with as little boilerplate code as possible, and with a lot of features.
Exceptions in Scala are inherited from the JVM, i.e. from Java. In this post, we will look at how to throw and catch exceptions, as well as defining our own custom ones
In this the final blog post on our series of Object Oriented Programming in Scala, we take a look at how packaging and imports both work