6.3. Programação orientada a objetos em Python: Herança e Polimorfismo

A programação orientada a objetos (OOP) é um paradigma de programação que fornece uma maneira de estruturar programas para que as propriedades e os comportamentos estejam agrupados em objetos individuais. Python é uma linguagem de programação orientada a objetos e isso será o foco de nossa discussão neste capítulo, concentrando-se na herança e no polimorfismo.

Herança em Python

A herança é um conceito fundamental da OOP que permite criar uma nova classe que é uma versão modificada de uma classe existente. A classe original é chamada de classe base ou classe pai, e a nova classe é chamada de classe derivada ou classe filha. A classe filha herda todos os atributos e comportamentos da classe pai, mas também pode adicionar novos ou modificar os existentes.

Em Python, a herança é declarada pela passagem da classe pai como um parâmetro para a classe filha. Aqui está um exemplo:

class Animal:
    def __init__(self, name):
        self.name = name

class Dog(Animal):
    def bark(self):
        return "Woof!"

No exemplo acima, a classe Dog herda da classe Animal. Isso significa que um objeto Dog tem um atributo name e um método bark().

Polimorfismo em Python

O polimorfismo é outro conceito fundamental da OOP que se refere à capacidade de um objeto poder assumir muitas formas. Em Python, o polimorfismo é implementado de duas maneiras: sobrecarga de métodos e substituição de métodos.

A sobrecarga de métodos se refere à capacidade de uma classe ter vários métodos com o mesmo nome, mas com diferentes parâmetros. Em Python, a sobrecarga de métodos é realizada usando argumentos padrão ou argumentos variáveis.

Aqui está um exemplo de sobrecarga de métodos em Python:

class Rectangle:
    def area(self, length=1, breadth=1):
        return length * breadth

No exemplo acima, o método area() pode ser chamado com zero, um ou dois argumentos.

A substituição de métodos se refere à capacidade de uma classe filha alterar a implementação de um método que herdou de sua classe pai. Isso é feito simplesmente declarando na classe filha um método com o mesmo nome do método da classe pai.

Aqui está um exemplo de substituição de métodos em Python:

class Animal:
    def sound(self):
        return "Generic animal sound"

class Dog(Animal):
    def sound(self):
        return "Woof!"

No exemplo acima, a classe Dog substitui o método sound() da classe Animal.

Em resumo, a programação orientada a objetos em Python, com o uso de herança e polimorfismo, permite criar código que é flexível e reutilizável. A herança permite criar novas classes a partir de classes existentes, e o polimorfismo permite que objetos de diferentes classes sejam tratados da mesma maneira. Esses conceitos são fundamentais para a criação de software complexo e são uma parte essencial de qualquer curso de Python.

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

Qual dos seguintes conceitos da Programação Orientada a Objetos (OOP) permite que um objeto possa assumir muitas formas?

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

Você errou! Tente novamente.

Imagem do artigo Programação orientada a objetos em Python: Encapsulamento em Python

Próxima página do Ebook Gratuito:

23Programação orientada a objetos em Python: Encapsulamento em Python

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