OOP in Scala
Similar to Java, the Scala compiler requires code to be wrapped inside a class. The interactive Scala REPL shell works around this limitation by automatically wrapping the entered code in an invisible class that is generated under the hood. When using the scala
command, you can immediately start writing functions or code that must be executed, like you would do in a typical Python or different script language. We will cover the following topics:
- Defining packages and subpackages
- Importing members
- Defining classes
- Instance methods and variables
- Constructors
- Extending a class
- Overloading methods
- Abstract classes
- Traits
- Singleton objects
- Operator overloading
- Case classes
Defining packages and subpackages
Scala has a package
statement. It can be defined at the top of a file:
package PACKAGENAME
This form works in the same way as Java. Every class that is defined in the same source file is placed inside the PACKAGENAME
package.
Scala offers more control, though. As we will soon see in a more...