scala - para - manual de programacion android pdf
Importar paquete como otro (2)
La declaración de importación en scala solo le dice al compilador dónde encontrar otras clases como en java, no como la directiva #include en C / C ++ donde el compilador copia físicamente todo el archivo de encabezado. Si desea utilizar las clases de caso de com.example.abc
, debe importarlas de su propio paquete, ya que esta es la forma convencional.
Digamos que tengo un proyecto de Scala con un montón de clases de casos en el paquete com.example.abc
. Quiero importar todas estas clases en un paquete com.example.c
(que contiene algunas más clases de casos no conflictivas) para que en cualquier otro lugar de mi proyecto, solo tenga que import com.example.c._
para usar cada clase de caso desde com.example.c
y com.example.abc
.
¿Cómo puedo hacer eso?
Se debate la posibilidad de agregar un mecanismo de exportación que haría lo que usted desea, pero no está claro si eso sucederá.
En cualquier caso, por ahora la única forma es
- Definir el tipo de cada clase
- Establecer un valor igual a cada objeto
Así por ejemplo,
package bar
case class Foo(i: Int) {}
tendría que ser imitado en otro paquete con
package object baz {
type Foo = bar.Foo
val Foo = bar.Foo
}
Cuando se enfrenta a esto, las personas generalmente se conforman con una importación adicional o dos.