Ragazzi sono due giorni che stò impazzendo a cercare di capire la visibilità delle variabili e la keyword $this...prima avevo provato con un esempio banale e no problem
Quì invece NON FUNZIONA PIU' !!! Ci sarà qualche altro genere di problema che non capisco...
codice:
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
/* Classe che implementa la struttura dati HEAP e la sua funzionalità per
l'ordinamento di una collezione mediante l'algoritmo di ordinamento
Heap Sort */
class Heap{
/* Variabile di istanza che implementa la struttura dati ad albero dell'heap per mezzo di
un array */
private $heap = array();
private $heapSize; // Variabile di istanza che conterrà la dimensione dell'heap
/* COSTRUTTORE: Copia l'array parametro nella variabile di istanza heap e mette dentro
la variabile di istanza heapSize la sua dimensione */
public function __construct($arr){
$heapSize = count($arr); // Mette dentro heapSize la dimensione dell'array parametro'
$this->heap = $arr; // Copia l'array parametro nella variabile di istanza heap'
}
public function getDimensione(){
return $this->heapSize; // Restituisce al chiamante il valore contenuto in heapSize
}
}
$array = array(80, 70, 90);
$myHeap = new Heap($array);
$dimensione = $myHeap->getDimensione();
echo "La dimensione dell'heap è: ". $dimensione;
?>
Praticamente ho un costruttore che riceve un array come parametro e lo copia nel mio array di istanza chiamato heap.
Poi mette la dimensione dell'array parametro nell'altra variabile di istanza chiamata heapSize.
L'oggetto così dovrebbe essere creato.
Poi nella classe metto un metodo pubblico per la mia interfaccia chiamato getDimensione che dovrebbe restituire al chiamante il valore contenuto nella variabile di istanza privata heapSize...
Provato...ma non lo fà...non mi restituisce nulla...
Come mai?
Grazie
Andrea