Java Vs C# : Eviter les conflits de nom dans les interfaces

By Hugo2 min read

Warning, warning, ceci n'est pas une rubrique à troll !!

Bien qu'étant plutot spécialiste Java, je me suis mis récemment au C#. Loin des débats qui n'en finissent plus pour savoir lequel des deux p... le plus loin, je tenais à faire une petite rubrique pour lister "les trucs qui tuent" qui existent dans chaque langage et que tout bon développeur aime connaitre.

Et donc le truc qui tue du jour :

Eviter les conflits de nom dans les interfaces en C#

En java vous avez sans doute déjà eu affaire à des interfaces dont les noms rentrent en conflit, non ?

Dans le cas contraire, je vous propose un petit exemple :

java
public interface IInterface1
{
    void execute();
}

public interface IInterface2
{
    void execute();
}

public class MyClass implements IInterface1, IInterface2
{
      public void execute()
      {
         //  ??       
      }
}

Rageant n'est-ce pas ? Vous tentez de respecter un contrat identique défini par deux interfaces.

Et en C# ?

C# propose une solution intéressante à ce problème.

java
public interface IInterface1
{
    void Execute();
}

public interface IInterface2
{
    void Execute();
}

public class MyClass : IInterface1, IInterface2
{
    void IInterface1.Execute()
    {
         Console.WriteLine("Execute de IInterface1");
    }

    void IInterface2.Execute()
    {
         Console.WriteLine("Execute de IInterface2");
    }
}

On remarquera que les méthodes sont privées. Elles ne peuvent être appelées qu'à partir de l'interface. Ce qui est beaucoup plus propre.

Written by Hugo

Ingénieur logiciel/Indie Hacker avec plus de 20 ans d'expérience. Je partage sur les technologies, l'entreprenariat et les startups, entre autre...

Stay in the loop

Get new articles delivered directly to your inbox. No spam, unsubscribe anytime.

0 Comments

No comments yet. Be the first to comment!

Copyright © 2026EventuallycodingPowered by Writizzy