GNP ha scritto:
Ragazzu premettendo che ho capito per cosa si usano le parole di incapsulamento potreste spiegarmi il significato pratico di fare ciò.
Applicare il principio di
incapsulamento significa sostanzialmente
nascondere certi dettagli (dati e/o comportamenti) di una certa entità che non sono veramente fondamentali da vedere e conoscere da parte di altre entità esterne.
Il caso più tipico e pratico da spiegare è l'incapsulamento dei dati contenuti in un oggetto. Ovvero: campi
private e poi i metodi "accessori" getter/setter public. Perché questo? Semplicemente perché in questo modo la classe può evolvere più facilmente. Il nome (e se possibile il tipo) del campo, essendo nascosto, lo puoi cambiare in futuro, oppure sempre in futuro il valore potrebbe essere dedotto in altro modo o derivato da altre proprietà.
Ciò che invece è la API "pubblica" sono i metodi pubblici che esponi all'esterno. E finché questi non cambiano non hai problemi di compatibilità.