? Linguaggi di programmazione orientati agli oggetti ottengono il loro nome dalla loro capacità di creare classi, o modelli , per modellare strutture dati complesse . Invece di registrare una di queste strutture dati , un programmatore crea un'istanza semplicemente un'altra istanza della classe ha creato , chiamato un "oggetto" o istanza . Classi i cui dati possono essere modificati sono detti mutabili , mentre le classi i cui dati non possono essere modificati dopo che è stato dichiarato è detta classe immutabile . Costruttori di Classe
Una componente importante di una classe è chiamato il suo " costruttore ". Questa è una funzione che definisce il linguaggio di programmazione quando crea un nuovo oggetto da tale classe . I programmatori usano questa funzione per impostare i valori iniziali per le variabili per l'istanza della classe . Questi sono sia i valori che il programmatore definisce se stesso all'interno del costruttore stesso, o sono valori che il programmatore passa come argomenti di parametro . Se i valori sono definiti in modo specifico all'interno del costruttore , quindi questi valori sono gli stessi per ogni istanza della classe . Tuttavia , se i valori vengono passati come argomenti di parametro , quindi i valori sono diversi da caso a caso .
Pubblici e protetti
Una caratteristica delle classi è la loro capacità di incapsulare dati : variabili all'interno di un oggetto particolare appartengono a tale oggetto. Queste variabili hanno livelli di sicurezza che definiscono come il programmatore li modifica diverse . Variabili di classe il programmatore dichiara come "pubblico" sono accessibili dal programma principale , semplicemente riferimento alla variabile . In questo modo , il programma principale legge direttamente o modifica queste variabili . Se le variabili sono classificate come " protetti ", poi vengono modificati solo per le funzioni di chiamata all'interno della classe stessa , chiamata metodi , che il programmatore scrive per restituire i valori delle variabili o modificarli .
Mutevole e immutabile
un programmatore definisce se la sua classe sarà mutevole o immutabile , scrivendo la sua classe per consentire sia il programmatore a modificare le sue variabili una volta che inizializza un oggetto oppure no . Se il programmatore definisce le variabili di classe come "protetto" e non scrive i metodi della classe per modificare le variabili , allora la classe è immutabile , perché non c'è modo di modificare le sue variabili dopo che viene creata un'istanza . Mutevole classi sono quelli in cui le variabili sono o pubblico , o il programmatore fornisce metodi che modificano i valori delle variabili .
Esempi
Mentre le classi immutabili possono sembrare come un fastidio per novizio programmatori , mentre avanzano nella competenza e la complessità del progetto vengono a vedere che le classi immutabili hanno un numero di usi pratici . Quando le classi immutabili vengono utilizzate per memorizzare i valori , come ad esempio la tupla pitone , il fatto che il programmatore non deve preoccuparsi per il contenuto in corso di modifica permette loro di ritornare valori richiesti più veloce . Inoltre , le classi immutabili sono utili per la funzione di libreria in cui l'integrità dei valori delle variabili è fondamentale per il corretto funzionamento di un programma.