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++

book
Parole Chiave Dei Modificatori Di Accesso

L'incapsulamento in C++ si ottiene principalmente tramite l'uso dei 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 forniscono 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 alle 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

copy
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.

Analogamente a come un conducente può guidare un'auto senza comprendere la meccanica interna, utenti e programmatori non devono preoccuparsi degli attributi e dei 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;

  • Garantire che questi metodi svolgano solo ciò per cui sono stati progettati, senza rivelare la logica interna.

Una class ben incapsulata dovrebbe esporre solo ciò che è necessario agli 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?

Select the correct answer

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

some-alt