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 7:
In particolare nella [[programmazione orientata agli oggetti]] (OOP), l'oggetto è un esemplare (in [[lingua inglese|inglese]]: ''instance'', comunemente anche se impropriamente tradotto con istanza) di una [[classe (informatica)|classe]], unico e separato dagli altri oggetti (secondo il concetto di [[Incapsulamento (informatica)|incapsulamento]]) con i quali può tuttavia "comunicare".
Generalmente, si considerano come oggetti tutte
Per '''definire''' un oggetto è quindi necessario individuare:
*
*
Un''''''istanza''''' è un particolare oggetto di una determinata [[classe (informatica)|classe]]. Ogni istanza è separata dalle altre, ma condivide con gli altri oggetti della stessa classe le sue caratteristiche generali, attraverso
▲* Le sue caratteristiche ('''attributi'''), effettuando la cosiddetta astrazione sui dati.
▲* Le azioni che può compiere e/o subire ('''metodi'''), effettuando la cosiddetta astrazione funzionale.
▲Un''''''istanza''''' è un particolare oggetto di una determinata [[classe (informatica)|classe]]. Ogni istanza è separata dalle altre, ma condivide le sue caratteristiche generali (la descrizione dei campi e dei metodi) con gli altri oggetti della stessa classe. Per esempio, il mio cane, "Bobbi", può essere rappresentato da un oggetto di nome bobbi istanziato a partire dalla classe "Cane" con un attributo nome che contiene il suo nome.
In certi casi, alcuni oggetti possono essere immaginati come sottoprogrammi che possono comunicare fra di loro ricevendo o inviando messaggi attraverso i loro [[metodo (informatica)|metodi]].
Una classe può essere vista come un tipo complesso (rispetto ai tipi semplici predefiniti detti primitivi) di [[Variabile (informatica)|variabili]] e un oggetto ([[Istanza (informatica)|istanza]]) può essere visto come una delle variabili di quel tipo. Infatti, creando una classe, si definisce un nuovo tipo di dato (nuovo, rispetto a quelli predefiniti e forniti con le librerie del linguaggio usato).
In un [[linguaggio di programmazione|linguaggio]] ad oggetti (OOP) ogni elemento del linguaggio è
Un oggetto del mondo reale ha delle caratteristiche e dei comportamenti. Mentre, un oggetto OOP è la rappresentazione informatica di un oggetto del mondo reale.
Ritornando all'esempio
Un oggetto, dal punto di vista logico, non è mai un elemento a sé stante, ma deriva (ovvero estende ed ''eredita'' le funzionalità) sempre da un altro oggetto.
▲In un [[linguaggio di programmazione|linguaggio]] ad oggetti ogni elemento del linguaggio è chiamato oggetto ed è inteso come una astrazione di un corrispondente oggetto del mondo reale. Un oggetto del mondo reale ha delle caratteristiche e dei comportamenti.
▲In altre parole, un oggetto OOP è la rappresentazione informatica di un oggetto del mondo reale. Nella OOP le caratteristiche degli oggetti reali sono rappresentate da valori contenuti in ([[variabile di istanza|variabili di istanza]]) mentre i loro comportamenti sono rappresentati con blocchi di istruzioni detti ''metodi''.
▲Ritornando all'esempio precedente del cane Bobbi, l'oggetto OOP corrispondente potrà avere delle variabili che descrivono il numero di zampe, la tipologia del pelo, il colore, e dei metodi con nomi come ''corri'', ''mangia'', ''abbaia'', ''scodinzola''.
Questo oggetto definisce dei metodi e delle variabili d'istanza generiche, perché da questo oggetto si faranno poi discendere tutti gli altri oggetti, in questo modo:
|