What you'll learn:
- Understand Scala's composition and inheritance features
- Create abstract classes and pure abstract members (methods and fields)
- Override and overload methods
- Create primary and auxiliary constructors
- Call superclass constructors and methods
- Understand and use parametric fields
- Create factory methods in companion objects
- Construct simple DSLs (Domain Specific Languages)
- Understand top and bottom types and how Scala uses them
- Write correct equals and hashCode methods
- Use traits to mix behavior into classes
- Know the different styles of packages and visibility modifiers
- Be able to import anything from anywhere
- Write pre-conditions and post-conditions
- Test your code with unit testing
Scala Applied, Part 2 covers Scala features that are different from other languages or maybe unique to Scala. It is intended to follow on from Part 1, and dovetails nicely into that flow.
While part 1 covered common concepts from other languages in Scala, part 2 concentrates on the parts of the language that are more specific to Scala and may be unfamiliar when coming from other programming languages, either the features themselves or the syntax for using them, taught by an instructor with over 15 years experience programming in Scala, and more than a dozen years teaching it.
As part of the larger Scala Applied 3 part course, this will prepare you with everything you need for day-to-day development in the Scala language.
In particular, by following this course you will:
Understand Scala's composition and inheritance features
Create abstract classes and pure abstract members (methods and fields)
Override and overload class methods
Create primary and auxiliary constructors
Call superclass constructors and methods
Understand and use parametric fields
Create factory methods in companion objects
Construct simple DSLs (Domain Specific Languages)
Understand top and bottom types and how Scala uses them
Write correct equals and hashCode methods
Use traits to mix behavior into classes
Know the different styles of packages and visibility modifiers
Be able to import anything from anywhere
Write pre-conditions and post-conditions
Test your code with unit testing