Salve a tutti, stavo cercando di capire meglio le tecniche di programmazione OOP e dando un'occhiata a molti esempi online mi é venuto un dubbio che non so quanto sia pertinente.
Prendete queste due classi.
LA PRIMA
Codice PHP:
<?php

class Persona {
    
    private 
$nome null;
    private 
$cognome null;
    
    function 
__construct($nome$cognome) {
        
$this->nome $nome;
        
$this->cognome $cognome;
    }    
    
    public function 
scriviNomeCompleto() {
        
        return 
$this->nome.' '.$this->cognome;
    }
    
}

$p = new Persona("Mario""Bianchi");

echo 
$p->scriviNomeCompleto();
?>
LA SECONDA

Codice PHP:
class Persona {
    
    public 
$nome null;
    public 
$cognome null;
    
    public function 
scriviNomeCompleto() {
        
        return 
$this->nome.' '.$this->cognome;
    }
    
}

$p = new Persona;
$p->nome "Mario";
$p->cognome "Bianchi";

echo 
$p->scriviNomeCompleto();

?> 
Entrambe restituiscono lo stesso risultato, il mio dubbio é: che differenza sostanziale c'é? E' solo una differenza di stile di programmazione oppure una é preferibile all'altra?
Dal punto di vista dell'utilizzo delle risorse e della sicurezza, quale delle due é preferibile?

Grazie.