Pacotes na linguagem Scala: 5 coisas diferentes do java que você precisa saber

Pacotes na linguagem Scala: 5 coisas diferentes do java que você precisa saber

Scala tem um sistema de pacotes bastante flexível.
Eis algumas funcionalidades que você pode se deparar ao estudar uma API e que não existem no universo Java.

São elas:

#1 Além de declarar o pacote no começo do arquivo (como no java) posso usar a sintaxe de chaves de forma parecida com C#

Existe uma versão do scala para .net e a seguinte sintaxe é suportada pela linguagem.

package com.ricardomurad {

    class Foo {

        def bar = new subpack.Bar

    }

    package subpack {

        class Bar {

          def foo = new Foo

        }
    }
}

#2 – A declaração de import pode ser usada também para parâmetros, atributos, objetos e não precisa estar no começo do arquivo.

No exemplo abaixo importei todos os membros do argumento do método imprima então posso chamar diretamente toUpperCase em vez valor.toUpperCase

object Bla {

  def imprima(valor: String) = {

    import valor._

    println(toUpperCase)

  }

}

#3 – Posso importar seletivamente os membros de um determinado pacote ou objeto.


import com.earth.animals.{Horse}
//importei somente a classe Horse

import com.earth.animals.{ Human => _, _}
// Isso importa todos os itens do pacote com.earth.animals
// menos a classe Human

#4 – Posso renomear coisas no momento da importação


import java.sql.{Date => SQLDate}

//apelidei a classe java.sql.Date com SQLDate

val date = new SQLDate(2016, 2, 1)

#5 – Implicitamente estão sendo importados os seguintes pacotes:

import java.lang._
import Predef._
import scala._

// por isso vc pode user List em vez scala.List

Uma palavra final:

Scala é uma linguagem extremamente flexível. Como dia o Tio Ben com grandes poderes, vem grandes responsabilidades. Portanto use os recursos que a linguagem oferece com parcimônia.

Abcs

Leave a Comment

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *