Conteúdo do Curso
Programação Orientada a Objetos em Python Avançado
Programação Orientada a Objetos em Python Avançado
O 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:
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
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.
Obrigado pelo seu feedback!