Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
O que é Abstração? | Polimorfismo e Abstração
Programação Orientada a Objetos em Python Avançado
course content

Conteúdo do Curso

Programação Orientada a Objetos em Python Avançado

Programação Orientada a Objetos em Python Avançado

1. Conceitos de POO
2. Herança
3. Encapsulamento
4. Polimorfismo e Abstração
5. Métodos Mágicos

bookO que é Abstração?

Abstração é um dos conceitos fundamentais da POO (Programação Orientada a Objetos) em Python. Do ponto de vista humano, todas as classes no código são abstratas (não podemos tocá-las). No entanto, as máquinas conseguem operar com elas. Ainda assim, é possível criar uma abstração, até mesmo para as máquinas, tornando a classe abstrata para elas também.

Em Python, uma classe abstrata é uma classe que não pode ser instanciada diretamente e destina-se a servir como um modelo para outras classes. Ela fornece uma interface comum ou um conjunto de métodos que as classes derivadas deverão implementar.

Vamos considerar o exemplo:

12345678910111213141516
from abc import ABC, abstractmethod class SomeClass(ABC): @abstractmethod def something(): print("Something") class NewClass(SomeClass): attribute = "Something" def something(self): print(self.attribute, "is the NewClass attribute") new_class = NewClass() # created new_class.something() instance = SomeClass() # raised an error
copy

O exemplo fornecido demonstra a criação de uma classe abstrata chamada SomeClass, que funciona como um modelo para a classe derivada NewClass. Uma classe abstrata atua exclusivamente como um modelo para suas classes derivadas e não pode ser diretamente instanciada.

Nos capítulos subsequentes, exploraremos a classe ABC, os decoradores @abstractmethod, e mergulharemos na estrutura e detalhes das classes abstratas.

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 4. Capítulo 4
We're sorry to hear that something went wrong. What happened?
some-alt