Ciao,
ho appena iniziato a studiare PHP ad oggetti...mi sono imbattuto in una cosa che non mi aspettavo (sopratutto perchè vengo da Java)
Praticamente mi pare di capire che in PHP la copia di oggetti sia per valore e non per riferimento (al contrario di Java) e che i metodi non possono ritornare valori...
Ad esempio se io avessi qualcosa del genere:
Il metodo sinistro() per calcolare la posizione del figlio sinistro dell'elemento in posizione 3 calcola semplicemente la posizione doppia....quindi dentro sin ci dovrebbe stare il valore 6codice:private $heap[]; // Array che contiene una struttura dati heap private $des; // Variabile che contiene la posizione del figlio destro di ogni elemento dell'heap private $sin; // Variabile che contiene la posizione del figlio sinistro di ogni elemento dell'heap $this->sin = $this->sinistro($padre); // Mette dentro sin la posizione nell'heap del figlio sinistro del terzo elemento
Così potrebbe essere una soluzione per l'esempio precedente?codice:private function sinistro($padre){ $sinistro = 2 * $padre; }
In pratica quando fà la chiamata con:
$this->sin = $this->sinistro($padre);
mette dentro la variabile $sin il valore della variabile $sinistro calcolata dal metodo $sinistro().
Però mi sembra un po' macchinoso come metodo...sarà che in Java si può far tornare valori ad un metodo...in PHP c'è modo di fare qualcosa del genere?
Grazie
Andrea

Rispondi quotando
