18. Herança e Polimorfismo

Página 58

A herança e o polimorfismo são dois dos quatro pilares fundamentais da Programação Orientada a Objetos (OOP), juntamente com o encapsulamento e a abstração. Esses conceitos são usados para criar programas mais eficientes e reutilizáveis, permitindo que os programadores criem novos objetos a partir de objetos existentes e implementem diferentes comportamentos em diferentes objetos.

Herança

A herança é um mecanismo que permite que uma classe herde campos e métodos de outra classe. A classe que herda é chamada de subclasse ou classe filha, enquanto a classe de onde ela herda é chamada de superclasse ou classe pai. A herança é usada para promover a reutilização de código e a criação de classes que são mais fáceis de entender, manter e estender.

Por exemplo, se tivermos uma classe 'Animal' com campos e métodos comuns a todos os animais, como 'nome', 'idade', 'comer()' e 'dormir()', podemos criar subclasses 'Cachorro' e 'Gato' que herdam esses campos e métodos da classe 'Animal'. Além disso, podemos adicionar campos e métodos específicos a essas subclasses, como 'latir()' para a classe 'Cachorro' e 'miar()' para a classe 'Gato'.

Em termos de sintaxe, a herança é geralmente implementada usando a palavra-chave 'extends' em Java ou 'inherit' em Ruby. Por exemplo, em Java, a declaração 'public class Cachorro extends Animal' significa que a classe 'Cachorro' herda da classe 'Animal'.

Polimorfismo

O polimorfismo é um conceito que permite que um objeto seja tratado como uma instância de sua própria classe ou de qualquer de suas superclasses. Isso permite que um único método ou operador funcione de maneiras diferentes dependendo do tipo do objeto em que está operando.

Por exemplo, se tivermos uma classe 'Animal' com um método 'falar()', e subclasses 'Cachorro' e 'Gato' que sobrescrevem esse método para retornar 'Au au' e 'Miau' respectivamente, podemos usar o polimorfismo para chamar o método 'falar()' em um objeto 'Animal' sem saber se é um 'Cachorro' ou um 'Gato'. O resultado será 'Au au' se o objeto for um 'Cachorro' e 'Miau' se for um 'Gato'.

O polimorfismo é implementado através do uso de métodos virtuais em C++ e C#, ou através do uso de métodos abstratos e interfaces em Java. Por exemplo, em Java, a declaração 'public abstract class Animal { public abstract void falar(); }' significa que a classe 'Animal' tem um método abstrato 'falar()' que deve ser sobrescrito por qualquer classe que herde de 'Animal'.

Conclusão

Em resumo, a herança e o polimorfismo são conceitos fundamentais na programação orientada a objetos que permitem a reutilização de código e a criação de programas mais eficientes e flexíveis. Eles são usados em muitos tipos de aplicativos, desde jogos a sistemas de gerenciamento de bancos de dados, e são essenciais para qualquer programador que queira escrever código de alta qualidade.

Compreender esses conceitos e saber como implementá-los corretamente pode levar algum tempo e prática, mas uma vez que você os domina, você será capaz de criar programas mais poderosos e eficientes. Então, continue praticando e experimentando, e você verá os benefícios em pouco tempo.

Now answer the exercise about the content:

Quais são os quatro pilares fundamentais da Programação Orientada a Objetos (OOP) e qual é a função da herança e do polimorfismo nesse contexto?

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

You missed! Try again.

Next page of the Free Ebook:

5918.1. Herança e Polimorfismo: Herança

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