Cosa indicano gli indicatori di visibilità Public e Private

Nella programmazione a oggetti il concetto di “parti” pubbliche e private deve essere ben chiaro.

Una classe non è altro che lo stampo per la creazione di un oggetto. Tutto ciò che c’è all’interno della classe, però, non sempre deve essere accessibile al programmatore o peggio ancora all’utente finale. Farò un banalissimo esempio. Ho lo stampo di un timbro. Se ho impresso col timbro su un foglio qualcosa, posso firmarci o scrivere in un eventuale campo data. Non posso, però, mica firmare sullo stampo! Bene. Ci sono delle parti della classe che non devono essere assolutamente accessibili. Dunque, possono  e devono esistere metodi attributi privati.

Una classe, in genere, deve essere incapsulata. Ovvero, viene creata una sorta di scatola nera nel quale vengono inseriti tutti gli attributi e i metodi non visibili. Da questa scatola ci sono solo dei fori in entrata e in uscita, che vengono chiamati comunemente metodi getters e setters. Questo perché, ovviamente, la classe deve potersi interfacciare con l’esterno. Ed è appunto l’interfaccia l’insieme degli attributi e dei metodi pubblici di una classe. Un metodo getter esegue un’operazione di lettura, il metodo setter una operazione di scrittura.

Anche una classe può essere pubblica o privata. Dunque, in sintesi, questi indicatori si utilizzano su: classi, attributi e metodi. Tutto ciò, ovviamente, si applica ad ogni linguaggio di programmazione ad oggetti.

Francesco Grecucci

Sono nato a Taranto e mi sono diplomato in Informatica e Telecomunicazioni. Ho questo blog dal 2016 e cerco sempre di migliorarlo, ogni giorno. Mi piacciono molto anche la musica, il vintage, le fotografie. Amo molto scrivere, non solo di informatica, ma anche di narrativa. 😉

Francesco Grecucci

Francesco Grecucci

Sono nato a Taranto e mi sono diplomato in Informatica e Telecomunicazioni. Ho questo blog dal 2016 e cerco sempre di migliorarlo, ogni giorno. Mi piacciono molto anche la musica, il vintage, le fotografie. Amo molto scrivere, non solo di informatica, ma anche di narrativa. ;)