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?
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?
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