corretto l'uso dell'overload. mostro l'esempio (corretto nella sinstassi).

Codice PHP:
class Padre
  
{
  public 
$nome;

    public function 
set($data)
        {
        foreach(
$data as $k=>$v)
            {
            
$this->$k=$v;
            }
        }
    function 
__set($name,$value)
        {
        echo 
"questa non la setto $name-->$value
"
;
        }
  }

class 
Figlio extends Padre
    
{
    public 
$cognome;
    public function 
__construct($data)
        {
        
parent::set($data);
        }
    }

$son=new Figlio(array("nome"=>"luca","cognome"=>"bottoni","alias"=>"thebottons"));

print_r($son); 
Nel mio esempio precedente non venivano settate le proprietà, perchè isset() non considerava nulla se non dichiarato anche vuoto (bastava mettere le proprietà public $nome="") perchè venissero considerate nella Padre->set(). il fenomeno che ho incontrato è l'overload, il quale è però controllabile tramite la funzione magica __set($k,$v)

ecco cosa stampa il codice:

questa non la setto alias-->thebottons

Figlio Object
(
[cognome] => bottoni
[nome] => luca
)

Grazie a tutti e due per la dritte.