Olá Marllesson,
Você normalmente vai ter mais de uma opção de caminho a seguir e, como sempre, depende muito do cenário qual seria o melhor a seguir. De forma geral não seria recomendado herdar tudo de uma classe sem necessidade, a herança tem muitos benefícios mas temos que ter cuidado ao utilizá-la para não termos muitos comportamentos inesperados ou dependências desconhecidas na nossa classe.
Em situações mais simples, criar uma classe que apenas atua como uma camada extra de acesso à essa classe interna lhe dá mais controle e flexibilidade (mesmo que seja um pouco mais trabalhoso de início), ou seja, uma classe que contém apenas os métodos que precisamos e que dentro desses métodos acessamos os métodos dessa outra classe, que é como o professor faz na última aula. É um pouco confuso mas tem um exemplo abaixo dissso.
Acredito que o primeiro caso onde foi feito com herança foi apenas para demonstrar o poder da herança e o seu funcionamento, e o professor até explica mais sobre o porque não utilizou mais a herança para esse caso específico mais a frente no curso.
Você pode comparar a diferença de uso de herança ou não no exemplo abaixo, onde temos duas classes que guardam apenas valores inteiros:
class SacolaDeInteirosComHeranca(list):
# Sobrescrevendo o comportamento padrão do append
def append(self, valor):
if isinstance(valor, int):
list.append(self, valor)
else:
raise TypeError("O valor a ser inserido precisa ser um inteiro.")
class SacolaDeInteirosSemHeranca:
def __init__(self):
self._itens = []
def adiciona(self, item):
if isinstance(item, int):
self._itens.append(item)
else:
raise TypeError("O valor a ser inserido precisa ser um inteiro.")
def get_itens(self):
return self._itens
x = SacolaDeInteirosComHeranca()
x.append(2)
x.append(3)
x.append(5)
print(x)
y = SacolaDeInteirosSemHeranca()
y.adiciona(2)
y.adiciona(3)
y.adiciona(5)
print(y.get_itens())
Nesse exemplo a herança acaba resultando em um código mais simples, mas apenas isso não significa que é o correto. Mais a frente no curso também é mostrado como melhorar o segundo caso (sem herança) para que não seja necessário esse get_itens.
Espero ter ajudado, qualquer coisa é só falar!