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

    [ OOP - PHP4 ] Variabili invisibili all'esterno della classe

    Ciao a tutti

    ho fatto delle ricerche ma non ho trovato soluzioni che mi siano state di grosso aiuto e quindi chiedo

    ho una classe e al suo interno ho una variabile che non voglio si possa usare dall'esterno in modo diretto ma solo tramite dei metodi che scrivo io.

    Io mi ricordo che le variabili private si distinguevano grazie ad un _ davanti al nome ... ma non mi funziona.

    avete idee in merito?

    il codice molto idiota (solo per fare una prova ) è quanto segue:

    Codice PHP:
    <?php

    class pippo
    {
         var 
    $_privata "";

        function 
    pippo($privata){ // Questo è il COSTRUTTORE
                
    $this->SetPrivata($privata);
        }

        function 
    SetPrivata($privata){
                
    $this->_privata $privata ;
        }

        function 
    GetPrivata(){
            return 
    $this->_privata ;
        }

    }

    $objPippo = new pippo("passiamo dal costruttore\n");
    echo 
    $objPippo->GetPrivata();
    $objPippo->SetPrivata("Non dovrei cambiarla ma la cambia\n");
    echo 
    $objPippo->GetPrivata();


    ?>
    il suo output è:
    codice:
    passiamo dal costruttore Non dovrei cambiarla ma la cambia
    idee? ciau e grassie : pappatime :

  2. #2
    Che io sappia il php non ha variabili private, è tutto pubblico
    Hey Barney, fantastico, hai portato un barile di birra!! Già, dove posso riempirlo?
    http://www.ibolli.it

  3. #3
    Quello di usare l'underscore prima del nome della variabile, è solo una convenzione.

    Purtroppo in PHP4 non puoi proteggere la variabile
    Addio Aldo, amico mio... [03/12/70 - 16/08/03]

  4. #4
    Ciao,
    addirittura secondo alcuni puristi, PHP5 introducendo la protezione della visibilità ha commesso un errore.Ed era meglio la convenzione dell'underscore.
    Esistono linguaggi Object Oriented puri che non prevedono questa funzionalità in quanto ritengono che stia al programmatore che utilizza gli oggetti decidere cosa fare delle proprietà.
    per favore NIENTE PVT TECNICI da sconosciuti

  5. #5
    bha...secondo me i puristi esagerano -.-
    se è privata è privata ... IMHO
    dal mese prox che sono in proprio me lo imparo il php5 ... direi che è utile

    prima però devo finire il manuale di java

  6. #6
    Fra l'altro, se non erro, python usa la regola del (doppio) underscore per assicurare una (limitata) protezione alle variabili di classe
    Addio Aldo, amico mio... [03/12/70 - 16/08/03]

  7. #7
    nn saprei...è nell'elenco delle cose da studiare...poi ti dirò

  8. #8
    Originariamente inviato da gm
    Fra l'altro, se non erro, python usa la regola del (doppio) underscore per assicurare una (limitata) protezione alle variabili di classe
    Infatti uno di questi puristi è Alex Martelli, guru IBM del C++ e oggi acceso sostenitore di Python
    per favore NIENTE PVT TECNICI da sconosciuti

  9. #9
    Originariamente inviato da innovatel
    se è privata è privata ... IMHO
    Sì, ma se per caso a me, libero pensatore e utilizzatore della classe, serve che diventi pubblica, non dovrei diventare mezzo deficiente per renderla tale
    per favore NIENTE PVT TECNICI da sconosciuti

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.