@Provides

@Providesで、依存オブジェクトの注入物生成メソッドを定義する。

とてもつもなくわかりやすいdagger2(2.11)入門 - Qiita
Y.A.M の 雑記帳: Android で Dagger を使う(その1)

Heater1ではなく、HeaterBaseに差し替え。

providePumpBaseに加えて、provideHeaterBaseでHeater1を返す。

こちらは、Heater2を返す。

これであとは、これまで同様に@ComponentなどでModuleを切り替えると、

どちらも1
どちらも1

どちらも1だったり、

どちらも2
どちらも2

どちらも2だったりできる。

Sample/dagger/annotationProvides/annotationProvides/AP/AP_ at master · bg1bgst333/Sample · GitHub