Uma classe abstrata é um projeto para classes relacionadas. Ele não pode ser instanciado, mas só pode ser acessado por meio de herança. Uma subclasse que herda uma classe abstrata é necessária para implementar seus métodos abstratos. Caso contrário, o compilador sinalizará um erro.

Métodos abstratos são métodos sem implementação. Uma classe abstrata pode ter métodos abstratos ou métodos concretos (normais).

Python não oferece suporte direto a métodos abstratos, mas você pode acessá-los por meio do abc módulo (classe base abstrata).

Usando o módulo abc em Python

Para definir uma classe abstrata em Python, você precisa importar o módulo abc.

Veja o exemplo abaixo:

do ABC import ABC
classe AbstractClassName (ABC):
passar

Observe a palavra-chave passar. Esta palavra-chave é usada para substituir o código vazio. Deixá-lo de fora resultará em um erro de compilação.

Relacionado: Julia fará uma oferta pelo trono de Python?

Definições de classe, definições de método, loops e E se declarações esperam implementações de código. Portanto, deixá-los de fora gera um erro de compilação. Para evitar isso, use

instagram viewer
passar para substituir o código vazio.

Para definir um método abstrato em Python, use o @abstractmethod decorador:

from abc import ABC, abstractmethod
classe AbstractClassName (ABC):
@abstractmethod
def abstractMethod (self):
passar

Neste ponto, seria bom mencionar que, ao contrário do Java, os métodos abstratos em Python podem ter uma implementação. Esta implementação pode ser acessada no método de substituição usando o super() método.

importar abc
classe AbstractClass (ABC):
def __init __ (self, value):
self.value = value
super () .__ init __ ()
@ abc.abstractmethod
def some_action (self):
print ("Esta é a implementação pai.")
classe MySubclass (AbstractClassExample):
def some_action (self):
super (). alguma_ação ()
print ("Esta é a implementação da subclasse. ")
x = Minha subclasse ()
x.some_action ()

É interessante notar que você pode definir um construtor em uma classe abstrata.

Na linha 9, você pode observar que @ abc.abstractmethod foi usado como o decorador do método abstrato. Esta é outra maneira de fazer isso diferente da forma anterior. Observe também que a linha 1 é mais curta (importar abc) do que a importação da linha 1 anterior que você usou.

É tudo uma questão de escolha. Porém, muitos podem achar o segundo método mais curto.

Tratamento de exceções em Python

Observe que não há como capturar erros no exemplo de código fornecido acima. Os bugs ocorrem com mais frequência do que não, e ter uma maneira confiável de obtê-los pode ser uma virada de jogo.

Esses eventos que interrompem o fluxo normal do programa são chamados de "exceções" e seu gerenciamento é chamado de "tratamento de exceções". O próximo passo em sua lista de leitura do Python deve ser o tratamento de exceções.

CompartilhadoTweetO email
Como lidar com exceções em Python

Cubra suas bases de codificação com exceções do Python.

Leia a seguir

Tópicos relacionados
  • Programação
  • Programação
  • Pitão
  • Linguagens de programação
Sobre o autor
Jerome Davidson (24 artigos publicados)

Jerome é redator da MakeUseOf. Ele cobre artigos sobre programação e Linux. Ele também é um entusiasta da criptografia e está sempre atento à indústria de criptografia.

Mais de Jerome Davidson

Assine a nossa newsletter

Junte-se ao nosso boletim informativo para dicas de tecnologia, análises, e-books grátis e ofertas exclusivas!

Clique aqui para se inscrever