Aunque no he verificado si funciona debido al problema con el PDO (el otro POST) La duda en si es la siguiente:
Normalmente uno cuando llame el controlador para loguearse seria asi: 
 Código PHP:
    $login = new usuario();
if($login->verificar($_POST['usuario'], $POST['clave']))
    echo "bien";
else
    echo "mal"; 
    
  Pero CREO, mas no estoy seguro, si declarando los atributos como privados se podria acceder a ellos con ese verificar ??, por eso lo cambie por:  
 Código PHP:
    $login = new usuario(null, $_POST['usuario'], $POST['clave'], 0);
if($login->verificar()) // Aqui ya no paso parametros.
    echo "bien";
else
    echo "mal"; 
    
  En pocas palabras, lo que quiero es evitar al maximo no pasar parametros a traves de los metodos sino solamente por el constructor. Quisiera saber si hay algo de malo en ello o al contrario es mucho mejor para el sistema. 
Gracias por responder.