Hola bieen, buen aporte pero un par de preguntas.
La interface iArticulo no tiene ninguna funcionalidad en tu ejemplo ya que ni si quiera la usas para comunicarte a través de ella al objeto articulo que la implementa.
¿Esta pensado para tener distintos tipos de objetos y que el carrito los maneje como si fueran un iArticulo?
En ese caso deberías de trabajar con iArticulo dentro de la clase ColeecionArticulos.