DEV Community

Beatriz Maciel
Beatriz Maciel

Posted on • Updated on

HackerRank #14 | Abstract Class | 🇧🇷

Nesse exercício, testamos uma situação com uma classe abstrata. Classes abstratas não podem ter instâncias, por isso a resolução inclui criar uma nova classe que extenda à classe mâe.

Nesse caso, como a classe mãe já tem o getter que vamos usar, só precisamos sobreescrever o método com a palavras reservada @Override. O código é praticamente o mesmo (inclui o void, o setTitle e a String s), mas precisamos usar a palavra super. para demarcar que estamos acessando uma função/método da classe mãe.

=========

O passo a passo é:

  • Criar uma class MyBook que extenda à class Book
  • Sobreescrever o método void setTitle(String s)
  • Especificar que o método chama a classe mãe a partir da palavra super.

=========

Código final:

import java.util.*;
abstract class Book{
    String title;
    abstract void setTitle(String s);
    String getTitle(){
        return title;
    }
}

class MyBook extends Book {

    @Override
    void setTitle(String s) {
        super.title = s;
    }   
}

/... aqui entra a public class Main

Enter fullscreen mode Exit fullscreen mode

============

Essa publicação faz parte de uma série de exercícios resolvidos em Java no HackerRank. Acesse a série completa:

Discussion (0)