ual é a melhor abordagem para inicializar variáveis de class

qui estão duas maneiras de inicializar variáveis de class

1º método
class Test {
    private $var1;
    private $var2;

    public function Test($var1,$var1) {
        $this->var1 = $var1;
        $this->var2 = $var2;
    }
}
$objTest = new Test("value1","value2");
2º Método
class Test {
    private $var1;
    private $var2;

    public function _set($var, $value) {
        $this->$var = $value
    }
}
$objTest = new Test();
$objTest->_set('var1','value1');
$objTest->_set('var2','value2');

Agora, esses dois métodos são válidos, mas eu gostaria de saber qual deles está melhor em que condições? Quais são os prós e os contras de seguir apenas um método?

questionAnswers(5)

yourAnswerToTheQuestion