Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Principi OOP: Incapsulamento | Sezione
Fondamenti di Programmazione Orientata agli Oggetti in Java

bookPrincipi OOP: Incapsulamento

Scorri per mostrare il menu

Incapsulamento

Un altro principio fondamentale della Programmazione Orientata agli Oggetti (OOP). Probabilmente il principio più cruciale, poiché l'intero paradigma OOP si basa su di esso. Hai già incontrato questo principio in questo capitolo quando hai designato campi e metodi come private o public. Ora però discuteremo questo principio in modo più dettagliato.

Nota

Si prega di non confondere la parola 'interfaccia' (un modello per la creazione, uno schema) con l'Interface che studieremo nella prossima sezione!

Modificatori di accesso

I modificatori di accesso sono una parte integrante dell'incapsulamento, quindi anche se li abbiamo già discussi, è necessario rivedere questo materiale. Di seguito è riportata la definizione dei modificatori di accesso insieme a una tabella e una breve descrizione:

  1. public: I membri con modificatore di accesso public sono accessibili da qualsiasi parte del codice. Hanno l'ambito più ampio. Ad esempio, un metodo public può essere chiamato da qualsiasi classe;

  2. private: I membri con modificatore di accesso private sono accessibili solo all'interno della classe in cui sono dichiarati. Non sono visibili alle classi esterne. Questo garantisce una forte incapsulazione;

  3. protected: I membri con modificatore di accesso protected sono accessibili all'interno dello stesso package e dalle sottoclassi, anche se si trovano in package diversi. Questo consente una condivisione controllata delle informazioni;

  4. default (package-private): Se non viene specificato alcun modificatore di accesso, il membro è accessibile solo all'interno dello stesso package. È il livello di accesso predefinito.

Vediamo come funzionano i modificatori di accesso nella pratica. Ci sono due classi: una creata nello stesso package della classe main, e l'altra creata in un package diverso. Vediamo come i modificatori di accesso influenzano questo:

Negli screenshot, puoi vedere da dove sono accessibili le variabili con i nomi corrispondenti.

Ti ricordo inoltre che, se vuoi aggirare i modificatori di accesso, puoi leggere qui: link.

Nota

Vale anche la pena ricordare che i metodi possono anch'essi avere modificatori di accesso. Funzionano allo stesso modo dei campi. Ad esempio, un metodo con modificatore di accesso private sarà accessibile solo nella classe in cui è stato creato.

Riepilogo

L'incapsulamento è molto utile quando i dati devono essere organizzati in compartimenti, rendendo il codice altamente strutturato. Inoltre, grazie all'incapsulamento, puoi configurare dove e come i tuoi campi e metodi possono essere accessibili.

1. Che cos'è l'incapsulamento in Java?

2. Quale modificatore di accesso è il più restrittivo?

3. Quali sono i vantaggi dell'incapsulamento?

4. Quali delle seguenti affermazioni sull'incapsulamento sono vere?

question mark

Che cos'è l'incapsulamento in Java?

Select the correct answer

question mark

Quale modificatore di accesso è il più restrittivo?

Select the correct answer

question mark

Quali sono i vantaggi dell'incapsulamento?

Select the correct answer

question mark

Quali delle seguenti affermazioni sull'incapsulamento sono vere?

Select all correct answers

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 1. Capitolo 19

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Sezione 1. Capitolo 19
some-alt