Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Perchè non mi restituisce il valore della variabile di istanza?

    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

  2. #2
    E dire che ti è stato detto e ridetto ...

    Codice PHP:
    $this->heapSize count($arr); 

  3. #3
    Originariamente inviato da filippo.toso
    E dire che ti è stato detto e ridetto ...

    Codice PHP:
    $this->heapSize count($arr); 
    Cazzarella hai perfettamente ragione...considera che mi sono andato a rivedere il manuale ufficiale di PHP...distrazione...forse è meglio staccare gli occhi dal PC per mezza giornata, uscire e riniziare a scrivere codice con più calma...se no entro in un loop infinito di queste cazzate...

    Grazie cmq

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.