17.13. Classes e Objetos: Sobrescrita de métodos

Página 57

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.

Now answer the exercise about the content:

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

You are right! Congratulations, now go to the next page

You missed! Try again.

Next page of the Free Ebook:

5818. Herança e Polimorfismo

Earn your Certificate for this Course for Free! by downloading the Cursa app and reading the ebook there. Available on Google Play or App Store!

Get it on Google Play Get it on App Store

+ 6.5 million
students

Free and Valid
Certificate with QR Code

48 thousand free
exercises

4.8/5 rating in
app stores

Free courses in
video, audio and text