Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    30

    Classi che richiamano metodi

    Premetto che all'80% non ci ho capito niente, sto iniziando da poco con la programmazione OO, e probabilmente la domanda sarà una scemenza.
    Comunque:
    Codice PHP:
    <?php
    class insieme {
        var 
    $nome;
        function 
    richiama(){
            
    elementi::metodo($this);
        }
    }
    class 
    elementi {
        var 
    $insieme;
        function 
    metodo($insieme){
            print 
    get_class($insieme);
            print 
    get_class($this);
        }
    }

    $a = new insieme;
    $a->nome 'asd';
    $b = new elementi;
    $b->insieme 'asd';
    $a->richiama();
    ?>
    Provandolo, restituisce 'insiemeinsieme'. Insomma, a me servirebbe poter controllare degli argomenti all'interno della classe che viene richiamata. Come posso fare?
    Grazie!

  2. #2
    mmh.. ci sono molte cose errate.. Quello che cerchi di fare te si chiama aggregazione.. e semplicemente funziona cosi:

    Codice PHP:
    <?php
    class elementi {

        function 
    elementi() {
        }

        function 
    metodo(){
            
    quelchevuoi far fare al metodo...
        }
    }

    class 
    insieme {

        function 
    insieme(&$elementi){
           
    $this->elementi =& $elementi;
        }

        function 
    altro_metodo() {
           
    $this->elementi->metodo();
        }
    }

    $a = new elementi();
    $b = new insieme($a);

    $b->altro_metodo();
    ?>
    come vedi la classe insieme utilizza metodi della classe elementi..
    Questa volta, più che un voto.. è favoreggiamento.

  3. #3
    :master: mooolto riduttivo cmq.. e c'è un'errorino..

    In fondo si può fare:

    Codice PHP:
    echo $b->altro_metodo(); 
    Questa volta, più che un voto.. è favoreggiamento.

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    30
    ghghg, si vede che sto iniziando ora XD
    grazie mille!

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.