Oggetto (informatica): differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Etichette: Modifica da mobile Modifica da web per mobile
Etichette: Modifica da mobile Modifica da web per mobile
Riga 54:
== Oggetti nella Programmazione orientata agli oggetti ==
 
Nella [[Programmazione orientata agli oggetti]] (OOP), un'istanza di un programma è la rappresentazione in [[memoria RAM]] della [[Classe (informatica)|classe]] a cui l'oggetto corrisponde. Gli oggetti nella OOP estendono la più generale nozione di oggetto descritta sopra, includendo uno specifico [[tipo di dato|tipo]], che tra le altre cose tiene conto:
 
Una classe (class) è una raccolta di dati, o meglio della loro descrizione e delle variabili per contenerli e dei metodi che operano su quei dati. Combinati assieme, dati e metodi descrivono lo stato e il comportamento di un oggetto.
# dei suoi attributi o campi (fields) o dati membri che rappresentano i dati associati all'oggetto;
 
# dei suoi [[Metodo (programmazione)|Metodi]] che accedono ai dati membri associati a quell'oggetto, in modo predefinito.
Gli oggetti nella OOP estendono la più generale nozione di oggetto descritta sopra, includendo uno specifico [[tipo di dato|tipo]], che tra le altre cose tiene conto:
 
# dei suoi attributi o campi (fields) o dati membri che rappresentano e contengono i dati associati all'oggetto;
# dei suoi [[Metodo (programmazione)|Metodi]] che accedono ai dati membri associati a quell'oggetto, in modo predefinito.
 
Nel caso dei linguaggi OOP più rigorosi è possibile accedere ai dati di un oggetto solo attraverso i suoi metodi, facilitando la garanzia che i dati siano sempre coerenti. Alcuni linguaggi non fanno differenza tra dati membri e metodi.
 
In un linguaggio OOP (come per es. Java) ogni oggetto viene creato da una [[Classe (informatica)|classe]] e l'oggetto viene definito come una '''istanza''' della sua classe. SePrtció, se ogni oggettoclasse rappresenta un tipo di dato, due oggetti della stessa classe rappresenteranno lo stesso [[tipo di dato]]. Creare un'istanza di una classe a volte viene detto anche '''[[istanziazione|istanziare]]''' la classe.
 
In pratica, un oggetto viene creato in base a un modello astratto chiamato classe.
Una classe consiste in un blocco di istruzioni caratterizzato da un proprio nome, che contiene la descrizione dei dati e delle variabili per contenerli (glii attributicampi) eassieme laalla descrizione delle istruzioni (metodi) per gestirli (leggerli e modificarli).
 
Notate che la classe contiene solo la descrizione dei dati e dei comportamenti degli oggetti creati sulla base di quella classe.
Perciò, prima di definire un oggetto dovremo descrivere in astratto la sua classe e dovremo definire le variabili necessarie a contenere i suoi dati e i metodi per gestirli.

In concreto l'oggetto è creato come istanza della sua classe e prende vita ricevendo da altri oggetti i dati costituiti dai valori da assegnare alle sue variabili. Giova ricordare che nella OOP ogni programma è costituito da oggetti che interagiscono tra loro (ricevendo dati da altri oggetti e trasmettendo dati ad altri oggetti).
 
Per esempio, dovendo rappresentare un cane di nome "Bobbi" potremo rappresentarlo come un'[[Istanza (informatica)|istanza]] di tipo ([[Classe (informatica)|classe]]) "Cane", che a sua volta sarà una sottoclasse della [[Classe (informatica)]] "Animale".