Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Parole Chiave Dei Modificatori Di Accesso | Panoramica sull'Incapsulamento
OOP in C++

Parole Chiave Dei Modificatori Di Accesso

Scorri per mostrare il menu

L'incapsulamento in C++ si ottiene principalmente tramite modificatori di accesso. Questi modificatori controllano il livello di accesso che le altre parti del programma hanno ai membri (sia dati che funzioni) di una classe. I tre principali modificatori di accesso sono:

  • private: accessibile solo all'interno della stessa classe e nascosto all'esterno della classe. Questo è il livello di accesso predefinito per i membri di una classe;

  • protected: accessibile all'interno della classe e delle sue classi derivate. Sono più accessibili dei membri private ma offrono comunque un certo livello di protezione dei dati;

  • public: accessibile da qualsiasi parte del programma. Sebbene i membri public non siano incapsulati, sono essenziali per definire l'interfaccia che la classe espone a entità esterne.

Note
Nota

Il modificatore di accesso continua ad applicarsi fino a quando non ne viene specificato o incontrato un altro.

main.cpp

main.cpp

12345678910111213
#include <iostream> class Person { public: std::string name; }; int main() { Person person; person.name = "Bob"; std::cout << person.name; }
Note
Nota

Prova a eliminare o modificare la parola chiave public e osserva cosa succede.

Simile a come un conducente può guidare un'auto senza comprendere la meccanica interna, utenti e programmatori non devono preoccuparsi degli attributi e metodi private all'interno di una classe. Seguire queste regole:

  • Mantenere i membri dati private o protected;
  • Fornire metodi public per accedere e modificare i dati private;
  • Assicurarsi che questi metodi facciano solo ciò per cui sono stati progettati, senza rivelare la logica interna.

Una class ben incapsulata dovrebbe esporre solo ciò che è necessario per gli utenti e nascondere il proprio stato interno e i dettagli di implementazione.

question mark

Cosa succede se si tenta di accedere direttamente a un membro privato di una classe dall'esterno della classe?

Seleziona la risposta corretta

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 3. Capitolo 2

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 3. Capitolo 2
some-alt