Yang saya bicarakan di sini adalah kelas bersarang. Pada dasarnya, saya memiliki dua kelas yang saya modelkan. Kelas DownloadManager dan kelas DownloadThread. Konsep OOP yang jelas di sini adalah komposisi. Namun, komposisi tidak selalu berarti bersarang, bukan?
Saya memiliki kode yang terlihat seperti ini:
class DownloadThread:
def foo(self):
pass
class DownloadManager():
def __init__(self):
dwld_threads = []
def create_new_thread():
dwld_threads.append(DownloadThread())
Tapi sekarang saya bertanya-tanya apakah ada situasi di mana bersarang akan lebih baik. Sesuatu seperti:
class DownloadManager():
class DownloadThread:
def foo(self):
pass
def __init__(self):
dwld_threads = []
def create_new_thread():
dwld_threads.append(DownloadManager.DownloadThread())