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...
Praticamente ho un costruttore che riceve un array come parametro e lo copia nel mio array di istanza chiamato heap.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; ?>
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

Rispondi quotando