Oggetto (informatica): differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
→Ambiti: Migliorato la forma e aggiunto nuove informazioni ed esempi. Etichette: Nowiki inseriti da dispositivo mobile Modifica da mobile Modifica da web per mobile |
Etichette: Modifica da mobile Modifica da web per mobile |
||
Riga 58:
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, propri dati (gli attributi) e proprie istruzioni (metodi) per gestirli (leggerli e modificarli). 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 valori da assegnare alle sue variabili. Giova ricordare che nella OOP ogni programma è costituito da oggetti che interagiscono tra loro (ricevendo e trasmettendo dati ad altri oggetti).
▲le". Nel caso di oggetto [[polimorfismo (informatica)|polimorfico]], alcuni dettagli del suo tipo possono essere ignorati selettivamente, per esempio un oggetto "cane" potrebbe essere usato da una funzione che cerca un "animale". Lo stesso vale per "gatto", perché anche lui deriva dalla classe "animale". Mentre accediamo come "animale", alcuni attributi di "cane" e "gatto" restano inaccessibili, ad esempio l'attributo "coda", perché non tutti gli animali hanno una coda.
Riepilogando, gli oggetti hanno tre caratteristiche:
Line 71 ⟶ 67:
#In particolare esistono diversi tipi di oggetti:
#
#Alcuni nomi sono usati per indicare alcuni oggetti speciali:▼
▲#Alcuni nomi sono usati per alcuni oggetti speciali:
* Oggetto ''[[singleton]]'' - un oggetto che rappresenta l'unica istanza di una classe nell'esecuzione di un programma.
* Functor ([[oggetto funzione]]) - un oggetto con un solo metodo (in C++, questo metodo potrebbe essere l'operatore di funzione, "operator()") che agisce come una funzione (simile ad un puntatore C/C++ ad una funzione).
Line 94 ⟶ 78:
=== Esempi: ===
Per capire meglio cosa sia un oggetto vediamo un semplice esempio del codice che in linguaggio Java è necessario per creare un oggetto che rappresenta un cane di nome "doggy".
Per prima cosa definiremo la classe Cane:
<b>class</b> Cane {
private String nome;
// metodo costruttore
Cane(String nome) {
this.nome=nome;
}
public getNome() {
return nome;
}
}
</source>
Dopo avere definito la classe Cane potremo creare l'oggetto "doggy" come sua istanza con l'istruzione: <source lang="Java">new</source>. Il modo più semplice per impostare i dati dell'oggetto doggy è quello di usare il metodo costruttore (omonimo della classe Cane) con le istruzioni (da inserire nel metodo main):
<source lang="Java">
Cane doggy = new Cane("doggy");
</source>
Per far visualizzare il nome associato all'oggetto di tipo Cane e nome doggy basterà scrivere:
<source lang="Java">
System.out.print( <b>doggy.getNome()</b> );▼
</source>
Altri esempi Java:<source lang="Java">
▲System.out.print( doggy.getNome() );
▲Altri esempi:<source lang="Java">
public class ObjectRecall
{
|