problema oop parent::

emanuelevt

Utente Attivo
24 Giu 2009
298
0
0
poiché sto studiando l'oop sono arrivato a questo punto:

Codice:
class a{
public function _construct($a)
{$this->a;} //propietà indefinita
}

class b extends a{
function _construct($a,$b){
parent::_construct($a);
$this->b;//propietà indefinita}
}

$y=new b;
$y->_construct('11','pp');

a me sembra tutto a posto invece quando carico la pagina mi da proprietà indefinita:

Notice: Undefined property: b::$a in C:\www\prove\oop.php on line 9

Notice: Undefined property: b::$b in C:\www\prove\oop.php on line 14

perchè?
 

lespaul

Utente Attivo
30 Lug 2009
91
6
0
www.simplesoft.it
Ciao emanuelevt, ti da l'errore perchè non hai definito $a e $b come membri della classe, quindi quando richiami il $this-> non trova la proprietà dichiarata nella classe quindi:
PHP:
class a {
    private $a; \\proprieta definita :-)
    public function _construct($a) {
        $this->a;
    } 
}

class b extends a{
    private $b; \\proprieta definita :-)
    function _construct($a,$b){
        parent::_construct($a);
        $this->b;
    }
}
$y = new b;
$y->_construct('11','pp');
 

emanuelevt

Utente Attivo
24 Giu 2009
298
0
0
Scusa il gioco di parole:

quindi posso affermare che una variabile non è definita se messa all'interno di un argomento della funzione, giusto?
 

lespaul

Utente Attivo
30 Lug 2009
91
6
0
www.simplesoft.it
Non ho capito bene cosa vuoi dire :crying:, :D comunque, nelle classi se utilizzi il $this davanti alle variabili ti riferisci a membri della classe e queste devono essere dichiarate prima, mentre ad esempio $a, $b sono variabili viste a livello di funzioni che possono essere argomenti oppure variabili dichiarate al suo interno. Se utilizzi l' $this->a = $a significa che stai assegnando un valore ad una variabile di classe. Poi comunque guardando meglio il tuo codice, forse nei costruttori intendevi fare questo:
PHP:
 public function _construct($a) {
        $this->a = $a;
    }
dove assegni ad una variabile di classe l'argomento della 'funzione costruttore', quindi $this->a sara (a livello di classe) il valore che gli è stato assegnato nel costruttore.
 

emanuelevt

Utente Attivo
24 Giu 2009
298
0
0
perfetto; hai risposto esattamente a ciò che intentevo chiedere...

$this->a=$a

praticamente avevo lasciato un pezzo...ti tingrazio troppo gentile!!!
 
Discussioni simili
Autore Titolo Forum Risposte Data
F Problema pulsante cerca record su access Database 0
I Sto progettando nuovi siti utilizzando bootstrap e devo dire funziona bene, l'unico problema e la maschera -moz- HTML e CSS 0
K Problema form update PHP 2
O problema con dvr dahua xvr5116 IP Cam e Videosorveglianza 0
S Problema nel ciclare un json Javascript 0
G Problema con Xampp Web Server 1
andrea barletta Problema con miniature comandi Photoshop 0
I problema con alice Posta Elettronica 0
K Problema Inner join PHP 1
F firefox problema http Linux e Software 0
N Problema con position absolute e overflow HTML e CSS 4
E Problema jquery Success jQuery 2
L Problema con inner join PHP 11
K [php] Problema con inner join PHP 4
E problema selezione sfumata Photoshop 2
K [PHP] Problema con variabili concatenate. PHP 1
A Problema filtro fluidifica Photoshop Photoshop 1
H Problema Bordi Scontorno Photoshop 1
O problema con query PHP 4
R Problema installazione Realtek WiFi USB rtl8821 Reti LAN e Wireless 1
I problema con 2 account Posta Elettronica 1
L problema collegamento file css con html HTML e CSS 1
Y Problema percorso file in rete PHP 1
N Problema SEO "L'URL non si trova su Google" SEO e Posizionamento 4
E Problema accesso a file con app sviluppata con MIT APP INVENTOR 2 Sviluppo app per Android 0
P Problema acquisizione clienti Webdesign e Grafica 1
F NetBeans problema creazione progetto Java Windows e Software 0
M Problema con Try Catch PHP 0
C problema seo + cerco esperto SEO e Posizionamento 11
Sergio Unia Problema con gli eventi del mouse su una data table: Javascript 2
T PROBLEMA CON SESSIONI PHP 3
A Problema, non so, di scale() o transform, oppure altro? HTML e CSS 0
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
R problema con else PHP 0
T PROBLEMA CON ARRAY PHP 8
L problema con query select PHP 2
R Problema query con ricerca id numerico PHP 2
F Problema con risposta PHP 0
S problema con recupero dati tabella mysql PHP 2
Z Problema con il mio tp-l i nk Reti LAN e Wireless 1
I PROBLEMA: Sostituzione sito XAMPP E-Commerce 0
T problema data 30/11/-1 PHP 0
L Problema RAM con Tomcat 8 Apache 0
napuleone problema con sort e asort PHP 4
Y Problema incolonnamento tabella PHP 7
S problema salvataggio immagini Photoshop 0
Z Problema con INT MySQL PHP 1
Z Problema database MySQL con XAMPP PHP 0
M Problema con controllo form in real time jQuery 6
D problema php mysql PHP 1

Discussioni simili