O que estou falando aqui são classes aninhadas. Basicamente, tenho duas classes que estou modelando. Uma classe DownloadManager e uma classe DownloadThread. O conceito OOP óbvio aqui é composição. No entanto, composição não significa necessariamente aninhamento, certo?
Eu tenho um código parecido com este:
class DownloadThread:
def foo(self):
pass
class DownloadManager():
def __init__(self):
dwld_threads = []
def create_new_thread():
dwld_threads.append(DownloadThread())
Mas agora estou me perguntando se há uma situação em que o aninhamento seria melhor. Algo como:
class DownloadManager():
class DownloadThread:
def foo(self):
pass
def __init__(self):
dwld_threads = []
def create_new_thread():
dwld_threads.append(DownloadManager.DownloadThread())