IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Les Interfaces, Explications


Sujet :

VB.NET

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 134
    Points : 69
    Points
    69
    Par défaut Les Interfaces, Explications
    Bonjour,

    Après avoir lu plusieurs articles sur la définition et la création d'interface en VB.net, je ne comprends toujours pas leurs utilités.
    A quoi servent réellement les interfaces ? Qu'apportent-elles vraiment ? Existent-ils des exemples de codes avec et sans interfaces montrant ainsi leurs utilisées.

    Si quelqu'un peut m'expliquer réellement ce que son les interfaces en soin, cela serai très aimable.

    Merci Beaucoup...

  2. #2
    Expert confirmé

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 065
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 065
    Points : 4 229
    Points
    4 229
    Par défaut
    Un lien vers une discussion similaire:
    Interface

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 134
    Points : 69
    Points
    69
    Par défaut
    Merci beaucoup...

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 134
    Points : 69
    Points
    69
    Par défaut
    Bonjour

    J'ai beau avoir consulté plusieurs Post du Forum, mais je vous avoue que je ne comprends toujours pas l'utilité des interfaces.

    Comme je le demandais dans mon post précédent, existent-ils des exemples de codes avec et sans interfaces montrant ainsi leurs utilisées ?
    Cela permettrait ainsi de montrer réellement leurs efficacités.

    Je vous remercie d'avance pour vos réponses...

    Merci.

    BONNE ANNEE 2013 ET MEILLEURS VOEUX A TOUS LES MEMBRES DU FORUM...

  5. #5
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Points : 4 232
    Points
    4 232
    Par défaut
    Bonsoir,

    Voici une explication des interfaces : http://plasserre.developpez.com/cours/vb-net/?page=poo2

    Sinon, avec une petite recherche :
    les interfaces site:developpez.com
    tu trouveras plein d'exemple

    Bonne année et meilleurs voeux

  6. #6
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    une interface sert à regrouper les choses communes d'éléments différents, permettant de les traiter sans distinctions et avec donc moins de code

    par exemple tu as des capteurs à relier à un pc pour afficher leurs valeurs, 2 types de capteurs débit et wattmetre
    tu fais donc une interface
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public interface ICapteur
      sub lecturevaleur
      property valeuractuelle as decimal
      property connectionOk as boolean
    end interface
    tu fais 2 classes implémentantes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public class capteurDebit
      implements ICapteur
     
    (...)
     
    public class capteurWatt
      implements ICapteur
     
    (...)
    le fait de mettre l'implements ca ajoute le corps des membres définis (la sub et les 2 propriétés)
    là tu écris le code spécifique (dialogue avec les capteur etc...)

    ensuite dans ton code tu peux faire une collection de capteur sans te poser de questions

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    dim l as new list(of ICapteur)
    ' il faut une instanciation des classes pour remplir le list
    sur un timer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for each c in l 
      c.lecturevaleur
      lelabelassocié.text = c.valeuractuelle
    next
    dans le code on fait donc abstraction de ce que c'est réellement, on sait que ca fonctionne et c'est suffisant ^^

    c'est généralement utilisé avec le design pattern factory
    qui permet lui de faire le new de la classe adéquate en fonction d'un paramètre et retournant l'instance as ICapteur
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 134
    Points : 69
    Points
    69
    Par défaut
    Citation Envoyé par Sankasssss Voir le message
    Bonsoir,

    Voici une explication des interfaces : http://plasserre.developpez.com/cours/vb-net/?page=poo2

    Sinon, avec une petite recherche :
    les interfaces site:developpez.com
    tu trouveras plein d'exemple
    Je te remercie pour ta réponse, mais le cours de "Plasserre" est la première chose que j'ai lu et je n'ai pas bien compris, d'où mon message sur le forum.

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 134
    Points : 69
    Points
    69
    Par défaut
    Citation Envoyé par Pol63 Voir le message
    une interface sert à regrouper les choses communes d'éléments différents, permettant de les traiter sans distinctions et avec donc moins de code

    par exemple tu as des capteurs à relier à un pc pour afficher leurs valeurs, 2 types de capteurs débit et wattmetre
    tu fais donc une interface
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public interface ICapteur
      sub lecturevaleur
      property valeuractuelle as decimal
      property connectionOk as boolean
    end interface
    tu fais 2 classes implémentantes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public class capteurDebit
      implements ICapteur
     
    (...)
     
    public class capteurWatt
      implements ICapteur
     
    (...)
    le fait de mettre l'implements ca ajoute le corps des membres définis (la sub et les 2 propriétés)
    là tu écris le code spécifique (dialogue avec les capteur etc...)

    ensuite dans ton code tu peux faire une collection de capteur sans te poser de questions

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    dim l as new list(of ICapteur)
    ' il faut une instanciation des classes pour remplir le list
    sur un timer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for each c in l 
      c.lecturevaleur
      lelabelassocié.text = c.valeuractuelle
    next
    dans le code on fait donc abstraction de ce que c'est réellement, on sait que ca fonctionne et c'est suffisant ^^

    c'est généralement utilisé avec le design pattern factory
    qui permet lui de faire le new de la classe adéquate en fonction d'un paramètre et retournant l'instance as ICapteur
    Merci beaucoup pour ton aide, cependant pourrais-tu m’éclaircir d'avantage en me montrant les différences entres l’utilité des Interfaces et l'Héritage.

    Milles excuses, mais j'ai vraiment du mal à comprendre la différence entre les deux d'autant plus qu'actuellement l'utilité des Interfaces ne sont pas très claire pour moi.

    Merci d'avance...

  9. #9
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    si tu peux éviter de citer 50 lignes pour rien ca serait pas plus mal, dans le pire des cas un @untel permet de spécifier à qui on parle

    il n'y a pas énormément de différences entre l'héritage et les interfaces
    dans mon exemple on aurait pu faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    public mustinherit class Capteur
      mustoverride sub lecturevaleur
      (...)
    la classe mustinherit permet par rapport aux interfaces de rajouter un peu de code générique
    alors que l'interface ne permet que de décrire les membres et les types

    l'avantage des interfaces c'est qu'une classe peut implémenter plusieurs interfaces, alors qu'en .net elle ne peut pas hériter de plusieurs classes
    dans certains traitement avec if typeof instance is Iquelquechose ca permet de traiter plein de choses différentes avec le même code
    on pourrait sur mon exemple imaginer que certains capteurs aient une gestion de seuils, on feraient alors une interface ISeuils certaines classes de capteurs l'implémenteraient en plus de ICapteur et pas d'autres
    dans la boucle for each on pourrait tester le type de l'instance et si elle gère ISeuils on pourrait afficher les seuils dans des numericupdown

    les interfaces sont aussi pratiques pour du développement à plusieurs, quand on a une classe à écrire, on écrit l'interface, et d'autres développeurs peuvent commencer à coder en utilisant l'interface pendant qu'on écrit la classe l'implémentant

    en bref sur des petits projets c'est rarement indispensable même si ca peut etre utile

    si tu es débutant tu peux t'en passer pour l'instant, on ne peut pas assimiler et utiliser tous les concepts de .net dès le début
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 134
    Points : 69
    Points
    69
    Par défaut
    Merci beaucoup pour tes infos. Il est vrai que je suis débutant, mais je voulais vraiment comprendre ce sujet.

    Néanmoins même si tout n'est pas encore bien clair, je te remercie quand même...

  11. #11
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Points : 4 232
    Points
    4 232
    Par défaut
    Pour bien comprendre, renseigne toi sur les pattern de conception (design pattern). Ils utilisent massivement l'héritage et les interfaces.
    Moi j'ai commencé avec Design Patterns Tête la première que je recommande pour débuter :

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 134
    Points : 69
    Points
    69
    Par défaut
    Ok, je vais regarder ça en espérant que se soit assez simple pour un débutant.

    Merci beaucoup pour ton aide....

  13. #13
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 177
    Points : 4 489
    Points
    4 489
    Par défaut
    une interface est un ensemble de fonctionnalités qui peuvent être indépendantes.
    Exemple IMouvement avec les fonctionnalité (Avancer, reculer, tourner a gauche, tourner a droite)
    Tu as les objets : Robot, Véhicule,Personne qui peuvent implémenter cet ensemble fonctionnalités mais il est difficile de trouver un Rapport entre un Robot, Véhicule et Personne.
    De plus ont peut implémenter plusieurs interface tandis qu'on ne peut hérité que d'une seule classes
    Je ne suis qu'un pauvre débutant alors ne frappez pas si mes idées ne sont pas bonnes

Discussions similaires

  1. [EJB] Explication sur les interfaces locales.
    Par rteuteu55 dans le forum Java EE
    Réponses: 18
    Dernier message: 21/05/2008, 09h53
  2. Réponses: 9
    Dernier message: 03/03/2005, 14h36
  3. [C#] A quoi servent les interfaces???
    Par sof_nns dans le forum Windows Forms
    Réponses: 8
    Dernier message: 28/10/2004, 20h51
  4. à quoit sert les interfaces ?
    Par nytmare dans le forum MVC
    Réponses: 13
    Dernier message: 12/09/2004, 11h57
  5. Réponses: 2
    Dernier message: 31/10/2003, 16h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo