Un oggetto in un linguaggio orientato agli oggetti rende molto facile trovare le operazioni che hanno senso agire sui suoi dati. Un modulo definisce operazioni e strutture di dati, ma non le lega automaticamente.
Conseguenza: per poter utilizzare una struttura dati da un modulo, è necessario conoscere il modulo specifico a cui appartiene. Nella programmazione orientata agli oggetti non è necessario sapere da dove proviene un oggetto per poter chiamare operazioni su di esso, purché si sappia (ad esempio dal contesto) che l’operazione è definita: L’operazione orientata agli oggetti “a.printYourself” sull’oggetto “a” funzionerà correttamente sia che si tratti di un indirizzo o di una fattura. Basato sul modulo, chiamare la subroutine printIt dal modulo “bill” su un indirizzo ha effetti disastrosi.
Un effetto importante è che esiste una migliore indipendenza tra le implementazioni di classi diverse nella programmazione orientata agli oggetti rispetto a moduli diversi. Questo aiuta a riusabilità.
- Quanto è grande una variabile di riferimento?
- Qual è il miglior cheat sheet Haskell?
- Perché un oggetto non viene creato con il metodo principale? Cosa succede se il metodo principale non è dichiarato statico?
- Quale lingua dovrei continuare ad imparare in profondità, Java o Python?
- Qualcuno potrebbe chiarire il significato dietro queste domande d'esame Java?