×

Scala Tutorial

Scala Basics

Scala Control statements

Scala Functions

Scala Arrays

Scala Lists

Scala Strings

Scala Classes & Objects

Scala Collections

Packages in Scala

By IncludeHelp Last updated : October 26, 2024

Scala Packages

In Scala, Packages are used to put classes, sub-packages, traits and other packages together. It is the namespace of code in files and directories in the Scala programming language. It is used to maintain code into folders isolating them from other members. Also, managing their access of members using access specifiers like public (when nothing is specified), package specific, protected, private.

Declaring Package

The first statement of a Scala programming is package declaration in Scala.

Syntax

package package_name

You can also define packages in some different ways in Scala,

package x.y.z 

// or 

package x
package y
package z

Working of Packages

Packages are files that are used to encapsulate data and storing data into files. Packages are similar to the directory structure. It will locate classes that are directories in easy-access locations.

The naming convention is reverse order for packages i.e. com.includehelp.scala.

Adding Members to a Package

In Scala, new members can be added to a package. Members like classes, subclasses, traits, objects, sub-packages. In Scala, you can add different files in the same package.

Syntax

package bike
class BMW {
    val GS 310r
}

Using packages in Scala

Packages are used to import members in Scala programming. The import keyword is used to add members in Scala.

Syntax

import bike

Example of Scala Package

This example demonstrates the creation of a BMW class within a bike package and a MyClass object that initializes instances of both BMW and Harley, showcasing how to organize classes in packages in Scala:

1. BMW.scala

package bike

class BMW(val bikeName: String) {
  def displayName(): Unit = {
    println(s"Bike Name: $bikeName")
  }
}

2. Harley.scala

package bike

// Define a simple Harley class with a name
class Harley(val bikeName: String) { 
  def displayName(): Unit = {
    println(s"Bike Name: $bikeName")
  }
}

3. MyClass.scala

package bike // This line should match the package for consistency

object MyClass {
  def main(args: Array[String]): Unit = {
    // Pass a bike name to the constructor
    val gs310r = new BMW("GS 310 R") 
    // Call the display method
    gs310r.displayName() 

    // Create an instance of Harley
    val street750 = new Harley("Street 750") 
    // Call the display method
    street750.displayName() 
  }
}

Output

Bike Name: GS 310 R
Bike Name: Street 750

Code Explanation

  1. BMW.scala: We defined the BMW class with a constructor to initialize the bike's name and a method to display it.
  2. Harley.scala: We defined the Harley class with a constructor to initialize the bike's name and a method to display it.
  3. MyClass.scala: The main class file that contains the main method to create instances of BMW and Harley and displaying their names.

Comments and Discussions!

Load comments ↻





Copyright © 2024 www.includehelp.com. All rights reserved.