Вопрос в том, откуда будет браться этот пароль? Его может передавать тот самый «верхний уровень», который будет передавать принтеру команды или какой-то другой объект, который будет конфигурировать объект принтера; как вариант — объект-factory. В этом объекте можно захардкодить конфигурирование для разных реализаций интерфейса; альтернативный вариант — принять в качестве обобщения, что пароль может быть, а может и не быть, и в этом случае мы передаем пустую строку, например. Конкретная реализация может использовать или не использовать этот пароль. Итого имеем:
- конфигурационный файл, в котором как минимум два поля — класс принтера и пароль (необязательно);
- объект-factory, который читает файл и инстанцирует объект указанного класса и задает ему пароль и остальные параметры;
- вызывающая сторона создает объект и использует его через интерфейс.