1
resposta

Porque não é necessário a herança ?

Achei que para o funcionamento do código, seria necessário o uso da herança mas percebi que não.. Alguém poderia explicar o motivo de não ser obrigatória?

1 resposta

Olá Gabriel Ribeiro ! Vou tentar responder a sua dúvida. Nesse capítulo/curso, vemos q foi utilizado a seguinte biblioteca: validate_docbr, que implementa validação de dados de alguns documentos brasileiros.

Nesse capítulo, ele usa como exemplo o CNPJ. Se vc acessar a documentação da biblioteca: validate_docbr-CNPJ, vc vai ver que dentro do documento existe uma classe:

from .BaseDoc import BaseDoc
from random import sample
from typing import Union

class CNPJ(BaseDoc):
    """Classe referente ao Cadastro Nacional da Pessoa Jurídica (CNPJ)."""

    def __init__(self):
        self.digits = list(range(10))
        self.weights_first = list(range(5, 1, -1)) + list(range(9, 1, -1))
        self.weights_second = list(range(6, 1, -1)) + list(range(9, 1, -1))
...

No caso, vc poderia sim criar uma nova classe e herdar a classe CNPJ, para utilizar seus métodos e atributos, porém, acredito que por ser mais didático, o curso optou por fazer uma abordagem de criar a classe do zero. Então, sendo mais experiente, vc utilizaria a herança e caso fosse utilizar algum comportamento a mais era só acrescentar na nova classe filha, ao invés de criar tudo de novo. Abraço e bons estudos ! Se ajudar, coloque o tópico como resolvido por favor XD