Les langages orienté-objet ont tendance à cacher le flôt de
contrôle. Ce phénomène possède trois causes:
La cible d'une méthode virtuelle ne peut généralement être déterminée clairement par le programmeur de façon statique (même si elle l'a été par le compilateur). La surcharge produit parfois le même effet (surtout avec des types ou des valeurs "psychologiquement proche".