Depending on your personal preference, or perhaps the needs of the moment, you can use a C#-style "curly brace" package syntax in your Scala applications, instead of the usual Java-style. As a quick example of what this looks like, here are a couple of simple package names and classes:
package orderentry {
class Order
class LineItem
class Foo
}
package customers {
class Customer
class Address
class Foo
package database {
// this is the "customers.database" package/namespace
class CustomerDao
// this Foo is different than customers.Foo or orderentry.Foo
class Foo
}
}
In this example I've defined three package namespaces:
As you can see from the code, I also have three classes named "Foo", and they are different classes in different packages. I have:
Of course this isn't any different than what you can do in Java, but this "curly brace" package syntax is very different than what you can write in Java, so I wanted to share this alternate syntax.
As another simple example, you can include one Scala package inside another using curly braces, like this:
package tests
package foo {
package bar {
package baz {
class Foo {
override def toString = "I'm a Foo"
}
}
}
}
object PackageTests {
def main(args: Array[String]) {
// create an instance of our Foo class
val f = new foo.bar.baz.Foo
println(f.toString)
}
}
As you can see, after creating the Foo class in the foo.bar.baz package, we can create an instance of it as usual, like this:
val f = new foo.bar.baz.Foo
I hope these Scala packaging examples have been helpful.
This page is sponsored by Valley Programming, offering Scala programming consulting services in Boulder, Colorado.
want to sponsor a page? learn more.
Post new comment