Scala Tutorial – Aprenda como criar e usar objetos de companhia

Passos

1. Como definir uma classe simples para representar um objeto Donut

Comecemos por definir uma classe simples que representará um objeto Donut com propriedades de nome e produtoCode. Este exemplo é uma revisão do tutorial anterior sobre Como Criar Classes e Objetos em Scala.

Simples ao tutorial anterior, vamos também ter uma função print() que irá imprimir o nome e o productCode para um determinado objeto Donut. Se você não está familiarizado com a criação de funções em Scala, você pode consultar os Tutoriais de Funções.

2. Como declarar um objeto companheiro para a classe Donut

Um objeto companheiro é definido usando a palavra-chave objeto e o nome do objeto deve ser idêntico ao nome da classe.

Além disso, o objeto companheiro deve definir um método apply() que será responsável por instanciar uma instância da classe dada.

Desde que a classe Donut do Passo 1 requer propriedades name e productCode, também estamos fornecendo parâmetros de entrada similares ao método apply() como mostrado abaixo.

3. Como criar instâncias da classe Donut usando o objeto companheiro

Com o objeto companheiro definido no Passo 2 acima, agora você pode criar instâncias da classe Donut sem ter que usar a nova palavra-chave.

NOTE:

  • Seguro que você poderia argumentar que o objeto companheiro não está realmente adicionando nenhum valor especial além de não ter que usar a nova palavra-chave.
  • No entanto, no próximo tutorial, mostrarei como o método apply() do objeto companheiro pode ser usado como uma fábrica para sua classe.

4. Como chamar a função print() para cada objeto donut

Next, vamos chamar a função print() dos nossos objetos donut como mostrado abaixo.

println("\nStep 4: How to call function on each Donut object")glazedDonut.printvanillaDonut.print

Você deve ver a seguinte saída quando executar seu aplicativo Scala no IntelliJ:

Step 4: How to call the print function for each of the Donut objectDonut name = Glazed Donut, productCode = 1111Donut name = Vanilla Donut, productCode = 2222

Deixe uma resposta

O seu endereço de email não será publicado.