Capa do Ebook gratuito Curso de Python com Lambda e API Gateway para desenvolvimento backend

Curso de Python com Lambda e API Gateway para desenvolvimento backend

4.6

(5)

142 páginas

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

Capítulo 22

Tempo estimado de leitura: 3 minutos

+ Exercício
Audio Icon

Ouça em áudio

0:00 / 0:00

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.

Continue em nosso aplicativo

Você poderá ouvir o audiobook com a tela desligada, ganhar gratuitamente o certificado deste curso e ainda ter acesso a outros 5.000 cursos online gratuitos.

ou continue lendo abaixo...
Download App

Baixar o aplicativo

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.

O polimorfismo na Programação Orientada a Objetos permite que um objeto possa assumir muitas formas. No contexto de OOP, isso se refere à capacidade de diferentes classes serem tratadas como instâncias da mesma classe através de uma interface comum. Em Python, isso é implementado por meio de sobrecarga de métodos e substituição de métodos, possibilitando que um mesmo método opere de maneiras diferentes em classes distintas.

Próximo capitúlo

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

Arrow Right Icon
Baixe o app para ganhar Certificação grátis e ouvir os cursos em background, mesmo com a tela desligada.