I have a class for database management, and one of my sub-classes (the one that defines a query) is defined like this (just a sample, many other functions are actually stripped
In your case it should make no difference.
The difference between named an unamed parameters is that with unnamed parameters you'll have to take care about the order in which they will be bound to the query.
Especially in your example unnamed params will fit very good as it eases the function call.
Further note that you won't need to call return $this;
in a constructor method.
Although there is no technical difference (as PDO will just replace named placeholders to question marks internally), there is a usability issue
For the sprintf-like function question marks seems a lot better solution. As they will let you to use indeed sprintf-style (dunno why you're creating a whole class for the query):
$query = new Query("SELECT * FROM t WHERE a=? AND b=?", $ida, $idb);
while with named it will be a lot more verbose