Quali sono le differenze tra Modulo e Classe in OCaml.Modulo e classe in OCaml
Dalla mia ricerca, ho trovato questo:
Entrambi forniscono meccanismi per l'astrazione e l'incapsulamento, per subtyping (omettendo metodi negli oggetti, e omettendo campi in moduli), e per l'eredità (oggetti di uso inherit; i moduli usano includono). Tuttavia, i due sistemi non sono comparabili. Da un lato, gli oggetti hanno un vantaggio: gli oggetti sono valori di prima classe e i moduli non lo sono, in altre parole, i moduli non supportano la ricerca dinamica . D'altro canto, i moduli hanno un vantaggio: i moduli possono contenere definizioni di tipo e gli oggetti non possono.
In primo luogo, non capisco cosa significhi "I moduli non supportano la ricerca dinamica". Da parte mia, astrazione e polimorfismo significano che il puntatore genitore può fare riferimento a un'istanza child. È la "ricerca dinamica"? In caso contrario, che cosa significa in realtà ricerca dinamica?
In pratica, quando si sceglie di utilizzare il modulo e quando si è in classe?