Skip to content

Instantly share code, notes, and snippets.

@cokeSchlumpf
Last active August 29, 2015 13:57
Show Gist options
  • Save cokeSchlumpf/9596844 to your computer and use it in GitHub Desktop.
Save cokeSchlumpf/9596844 to your computer and use it in GitHub Desktop.
object ApplyMethod extends App {
case class Centimeter(i: Double) { def meter = Meter(i / 100); def m = meter }
case class Meter(i: Double)
implicit class IntHelper(val i: Double) extends AnyVal {
def m = Meter(i)
def cm = Centimeter(i)
}
class Rechteck(laenge: Meter, breite: Meter)
object Rechteck {
def apply(laenge: Centimeter, breite: Centimeter): Rechteck = apply(laenge m, breite m)
def apply(laenge: Meter, breite: Meter): Rechteck = new Rechteck(laenge, breite)
}
val rechteck_1 = Rechteck(10 cm, 20 cm)
val rechteck_2 = Rechteck(10 m, 10 m)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment