Java等でいうインターフェイスの実装というのは、C++でいう抽象クラスからの継承に概ね相当する概念であって、インターフェイスは継承ツリーを作らないというのは単なるレトリックでしょ。C++で継承といっていたものを、用語上「継承」と「(インターフェイスの)実装」等に分けただけ。
本質的なのは、サブタイピング多相を実現するのに明示的なクラス名(インターフェイス名)の指定を必要とするという点なんだけど。