|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Feb 2009
Messaggi: 700
|
[PHP] Dubbio su esempio con operatore clone...help me :-/
Ciao,
mi stò studiando l'ottima guida di PHP OO di HTML.it, ho fatto la lezione che riguarda l'operatore clone. Questo è il codice: Codice:
<?php
class Foo {
public $foo = 10;
}
class A{
// PROPRIETÀ:
public $a = 10;
public $b = 20;
public $c = 30;
public $d; // E' inizialmente dichiarata senza valore specificato
/* COSTRUTTORE: Quando costruisce l'oggetto istanza di Aassegna a d il
* riferimento ad un nuovo oggetto istanza di Foo */
public function __construct() {
$this->d = new Foo();
}
}
$obj1 = new A(); // Costruisce un nuovo oggetto istanza di A
$obj2 = clone $obj1; // Mette in obj2 il riferimento aduna copia clonata di obj2
/* Modifica il valore della variabile foo dell'oggetto a cui si riferisce la
* proprietà e dell'oggetto clonato obj2 */
$obj2->e->foo = 20;
/* Stampa il valore della variabile foo dell'oggetto puntato dalla proprietà e
* dell'oggetto clonato obj2 */
echo $obj2->e->foo . "<br>";
/* Stampa il valore della variabile foo dell'oggetto puntato dalla proprietà e
* dell'oggetto originale obj1: è stato modificato anche l'originale */
echo $obj1->e->foo . "<br>";
?>
Spero di essere stato abbastanza chiaro nello spiegarlo...ma basta far girare questo semplice codice per capire...come mai? qualche idea? E' pari pari alla guida tra l'altro...mi sfugge qualcosa? Grazie |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Feb 2010
Messaggi: 466
|
utilizzi ->e
quando dentro il costruttore invece è ->d prova la classe A cosi : Codice PHP:
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 23:15.



















