Imagem do artigo Classes e Objetos: Sobrescrita de métodos

17.13. Classes e Objetos: Sobrescrita de métodos

Página 57 | Ouça em áudio

17.13. Classes e Objetos: Sobrescrita de métodos

A programação orientada a objetos é um paradigma de programação que utiliza a abstração para criar modelos baseados no mundo real. Ela utiliza várias técnicas de programação anteriores, incluindo herança, polimorfismo, e encapsulamento. Neste capítulo, vamos focar em um conceito importante na programação orientada a objetos: a sobrescrita de métodos.

O que é a sobrescrita de métodos?

A sobrescrita de métodos é um recurso que permite a uma subclasse fornecer uma implementação específica de um método que já é fornecido por uma de suas superclasses. Quando um método em uma subclasse tem o mesmo nome, os mesmos parâmetros ou assinatura e o mesmo tipo de retorno que um método em sua superclasse, então o método na subclasse é dito ser uma sobrescrita do método na superclasse.

É usada para alcançar o polimorfismo na programação orientada a objetos. A sobrescrita de métodos permite que uma classe herdeira altere o comportamento de métodos herdados da classe pai. Isso é feito para implementar um comportamento específico da classe filha.

Como funciona a sobrescrita de métodos?

Quando um método é invocado, a máquina virtual Java (JVM) decide qual versão do método executar com base no tipo de objeto que está sendo referenciado, e não no tipo de referência. Isso significa que se uma superclasse contém um método que já foi redefinido pela subclasse, então quando o método é chamado, a versão do método na subclasse será executada.

Exemplo de sobrescrita de métodos

Considere um exemplo em que temos uma superclasse chamada Animal e uma subclasse chamada Cão. A classe Animal tem um método chamado som(), que é sobrescrito pela classe Cão.

class Animal {
    void som() {
        System.out.println("O animal faz um som");
    }
}

class Cão extends Animal {
    void som() {
        System.out.println("O cão late");
    }
}

No exemplo acima, a classe Cão sobrescreve o método som() da classe Animal. Então, se criarmos um objeto da classe Cão e chamarmos o método som(), a versão do método na classe Cão será executada em vez da versão na classe Animal.

Regras para a sobrescrita de métodos

Existem algumas regras que devemos seguir ao sobrescrever métodos:

  • O método na subclasse deve ter o mesmo nome, os mesmos parâmetros e o mesmo tipo de retorno que o método na superclasse.
  • O método na subclasse deve ser pelo menos tão acessível quanto o método na superclasse.
  • O método na subclasse não pode lançar exceções mais verificadas do que o método na superclasse.
  • Se o método na superclasse é marcado como final, então ele não pode ser sobrescrito.

Compreender a sobrescrita de métodos é fundamental para entender como a programação orientada a objetos funciona, e é um conceito que é usado frequentemente na prática. Ele permite que as subclasses se comportem de maneira diferente das suas superclasses, o que pode ser muito útil em muitas situações.

A sobrescrita de métodos é uma das muitas técnicas que tornam a programação orientada a objetos uma ferramenta poderosa e flexível. Compreender este conceito é um passo importante para se tornar um programador Java eficaz.

Agora responda o exercício sobre o conteúdo:

O que é a sobrescrita de métodos na programação orientada a objetos e como ela funciona?

Você acertou! Parabéns, agora siga para a próxima página

Você errou! Tente novamente.

Imagem do artigo Herança e Polimorfismo

Próxima página do Ebook Gratuito:

58Herança e Polimorfismo

3 minutos

Ganhe seu Certificado deste Curso Gratuitamente! ao baixar o aplicativo Cursa e ler o ebook por lá. Disponível na Google Play ou App Store!

Disponível no Google Play Disponível no App Store

+ de 6,5 milhões
de alunos

Certificado Gratuito e
Válido em todo o Brasil

48 mil exercícios
gratuitos

4,8/5 classificação
nas lojas de apps

Cursos gratuitos em
vídeo, áudio e texto