Classe abstrata de Scala

Classe abstrata de Scala
Temos que criar classes em programação em qualquer idioma. As classes têm métodos e têm valores definidos neles. Na vida real, queremos esconder algumas informações em uma aula ou não queremos mostrar detalhes desnecessários da classe. Apenas apresentando o assunto que criamos para os usuários. Em Scala, há uma saída para ocultar detalhes da implementação através da criação de uma classe abstrata e mostrando apenas a funcionalidade que queremos exibir. Aprenderemos o conceito de criar uma classe abstrata em Scala neste artigo. A classe abstrata de Scala e a classe abstrata de Java são bastante semelhantes. Vamos ter mais informações sobre a classe abstrata do Scala.

O que é classe abstrata em Scala?

Em Scala, uma classe abstrata serve como um supertipo que contém informações sobre as classes de subtipo. Para alcançar a abstração, a classe abstrata é criada. Abstração significa esconder as informações da implementação e mostrar apenas a funcionalidade específica aos usuários finais. Só podemos herdar um resumo de uma classe para instanciar corretamente. Uma classe abstrata não pode ser instanciada diretamente. Para construir uma classe abstrata, temos que representar uma classe com a palavra -chave Resumo.

Sintaxe da classe abstrata em Scala

A sintaxe da classe abstrata da Scala parece assim.

Classe abstrata classe_name

def abstrata_method ()

O resumo é representado com a palavra -chave "abstrato" com o nome da classe. Na classe abstrata, declaramos métodos abstratos. O método abstrato é sem ter código em seu corpo.

Como usar a classe abstrata em Scala no Ubuntu 20.04

Vamos dar um exemplo e ver como formar uma classe abstrata junto com um método abstrato em Scala.

Exemplo # 1: Criando uma classe abstrata em Scala

Podemos criar uma classe abstrata em um programa usando a palavra -chave "abstrata" com o nome da classe especificado. Vamos ter algumas práticas criando a classe abstrata.

No código acima, declaramos uma aula com a palavra -chave "abstrata" e nomeou essa classe como "aluno". Na classe abstrata, definimos métodos abstratos como "informações". Quando definimos um método abstrato em uma classe abstrata, não precisamos de nenhuma implementação lá. Depois de criar a classe abstrata, criamos uma classe regular chamada "grau". Este grau de classe "estende a classe abstrata. Aqui, o método abstrato “Informações” exibe o nome do aluno e o nome do grau. Então, temos um método principal no qual temos que definir o objeto de classe "grau". Criamos uma variável OBJ e atribuímos isso à instância da classe "grau". Usamos uma nova palavra -chave para instanciar a classe. Estamos usando a instância do OBJ com o método "Information" chamado.

Criamos com sucesso uma classe abstrata e definimos métodos abstratos em uma aula regular. A saída do método abstrato de classe abstrato através da instrução de impressão está na tela do terminal.

Exemplo # 2: Criando uma instância de classe abstrata em Scala

Em Scala, não podemos instanciar uma classe abstrata explicitamente. Se tentarmos fazer isso, teremos um erro de compilação. Abaixo, estamos tentando instanciar uma classe abstrata criando uma instância do resumo para saber que mensagem de erro ele dará.

Na implementação do código acima, criamos uma classe abstrata com a palavra -chave "abstrata" e damos o nome da classe como "Universidade". Então, sem um corpo, definimos o método abstrato. O método abstrato é empregado no método principal. Criamos um objeto da classe "Universidade" na principal função da classe abstrata. Em seguida, atribuímos esse objeto à instância da classe abstrata “Universidade” com a nova palavra -chave. Isso vai instanciar a classe abstrata.

Temos uma mensagem de erro como uma saída que não podemos instanciar a classe abstrata. Como resultado, não podemos gerar objetos de classes abstratas.

Exemplo # 3: Criando campos na classe abstrata em Scala

Também podemos definir campos na classe abstrata. A classe abstrata acessou esses campos e, em seguida, o método abstrato da classe herdou a classe abstrata. Abaixo está a implementação do código mostrado.

No código acima, criamos uma classe abstrata com a palavra -chave "abstrata" e nomeou a classe "Professores". Na classe abstrata, os campos contêm uma variável como "professor_name", que é inicializada com o valor da string e possui uma sequência de dados de dados definida. O segundo campo também está com a variável definida como "professor_subject", que também é definida como um tipo de dados de string e inicializada com o valor da string. Aqui, o “professor_detail” é um método abstrato de classe abstrata “Professores”. Agora, "CS" é declarado como uma classe que estende a classe abstrata. Nesta classe, estamos acessando o método de classe abstrato e os campos da classe abstrata chamando o método abstrato. Criamos um objeto para instanciar a classe. Então, estamos usando uma instância de OBJ com o método de classe de "cs".

Temos o nome do professor e os detalhes do professor como uma saída abaixo.

Exemplo # 4: Criando um construtor em Scala

Podemos fazer um construtor de classe abstrato no código. Podemos usar o construtor para inicializar um objeto, mas o objeto não pode ser construído lá. Quando criamos uma instância de uma classe herdada, podemos chamar um construtor de uma classe abstrata.

No código acima, declaramos uma classe abstrata como "livro" junto com o construtor. O construtor de uma classe abstrata leva dois argumentos como "título" e "autor" então, na classe abstrata, definimos o detalhe do método abstrato. Agora, estenda a classe abstrata com o "romance de classe". O "romance de classe" acessará o método abstrato e retornará os valores do construtor que divide a saída do código de implementação acima.

Conclusão

Como discutimos a importância da classe abstrata, é muito útil em Scala. Temos uma breve introdução e definição de uma classe abstrata em Scala. Além disso, passamos pelas diferentes implementações de código de exemplo. Tivemos uma discussão profunda sobre a classe abstrata em Scala. Você terá um forte controle sobre a classe abstrata em Scala depois de ler o artigo.