begin process at 2010 02 10 12:47:40
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Système

 > 

Autre

 > 

Interface ou classe abstraite?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Interface ou classe abstraite?

jeudi 23 avril 2009 à 23:38:58 | Interface ou classe abstraite?

Kite37

Bonjour,

Je suis en pleine migration VB.NET / C# et quelques chose m'interpelle un peu.

En effet, dans les ouvrages que j'ai (et sur de nombreuses références web) je trouve des sujets traitant d'interface et de classes abstraites.

Or, les deux fonctionnent exactement pareil, d'où ma question : quelles sont les différences entre les deux? dans quel cas utiliser les interfaces et dans quel cas les classes abstraites?


Cordialement,

KiTe.

vendredi 24 avril 2009 à 09:22:23 | Re : Interface ou classe abstraite?

billou_13

Membre Club
Bonjour,

Rien ne sert d'essayer quelque chose qui est déjà très bien expliquée :
[ Lien ]

Codes-Sources:
Abstract: http://www.csharpfr.com/codes/CLASSE-ABSTRAITE_11485.aspx

MSDN:
Abstract: http://msdn.microsoft.com/fr-fr/library/sf985hc5(VS.80).aspx
Interface: http://msdn.microsoft.com/fr-fr/library/ms173156(VS.80).aspx

Bonne lecture et bonne journée,

Billou_13
Bask En Force

--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------
vendredi 24 avril 2009 à 09:23:30 | Re : Interface ou classe abstraite?

billou_13

Membre Club
Désolé pour mon oubli lors de la frappe:
"Rien ne sert d'essayer quelque chose qui est déjà très bien expliquée :"
=>
"Rien ne sert d'essayer d'expliquer quelque chose qui est déjà très bien expliquée :"

Bonne journée,

Billou_13
Bask En Force

--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------
vendredi 24 avril 2009 à 10:36:37 | Re : Interface ou classe abstraite?

leprov

Pour résumer :
tu utilises une interface des que tu le peux.
Pas de dérivation multiple, donc si tu hérites d'une classe abstraite, tu ne pourras dériver de rien d'autre.
en revanche, une interface ne peux contenir aucune implémentation de méthode (donc pas de méthode protected dans une interface, et tu ne peux avoir que des méthodes publiques).
Sachant que ce n'est que résumé pour donner l'idée de l'interet de l'un ou l'autre dans les cas standard, je te conseille de tout de meme lire les liens de billou...(entre implémentations explicites et autres subtilités qui font que si y'a plusieurs pages de doc, cest bien parce qu'on peut pas se contenter de résumer en deux lignes)

vendredi 24 avril 2009 à 11:08:53 | Re : Interface ou classe abstraite?

Kite37

J'avais déjà lu les pages MSDN en fait.

Donc en gros le seul avantage des interfaces est de pouvoir faire une sorte d'héritage multiple .. mais dont on doit réécrire les méthodes. Donc quelle utilisé de se lier a une interface si il faut tout réécrire? c'est un peu inutile ...

Pour les classes abstraites pas de soucis j'ai bien compris en revanche.

Cordialement,
vendredi 24 avril 2009 à 11:25:11 | Re : Interface ou classe abstraite?

billou_13

Membre Club
Re,

Kite37, pour bien comprendre l'utilité des interfaces, je te renvoie à ma réponse à ce post:
http://www.csharpfr.com/forum/sujet-INTERFACES_1241388.aspx
Cela devrait t'éclairer !

Bonne lecture,

Billou_13
Bask En Force

--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------
lundi 4 mai 2009 à 22:45:02 | Re : Interface ou classe abstraite?

Kite37

Merci bien à vous tous pour vos réponses.
En allant de lien en lien sur ceux que vous m'avez proposés, en lisant des exemples et de la doc je pense que je commence a saisir l'utilité des interfaces.

Toute leur puissance repose donc en fait sur le polymorphisme d'un part ou du fait qu'elles peuvent agir comme un "guide" pour le développement d'une classe.
C'est du moins ce que cela inspire au premier abord même si j'imagine bien les applications auxquelles peuvent servir les interfaces ^^

Cordialement,

KiTe

_________________________________________________
La connaissance est un trésor.


Cette discussion est classée dans : classe, classes, abstraite, interface, abstraites


Répondre à ce message

Sujets en rapport avec ce message

Classes depuis XML [ par Yima ] Bonjour à vous tous.Voici ma question.Supposons une classe "Enfant" parente d'une classe "Parent".La classe "Enfant" avec comme attributs : prenomE Interface [ par reyman ] Salut aux warriors qui ne sont pas en vacances tout comme moi :(Petite question au sujet des interfaces.J'ai une classe A avec ses propriétés, methode Comment mettre la même énumération dans plusieurs classes ? [ par oberown ] J'ai une énumération, et je voudrais que chaque classe est la même.Suis-je obligé de faire un copier/coller de mon énumération dans chaque classe ? Ou Classes, héritage, 3D [ par Blobette ] Bonjour Je dois réaliser un projet en C# et je suis novice dans ce domaine. Voila: je dois faire une interface permettant de visualiser des informati Question sur la visibilité des classes [ par Chris_LaFouine ] Bonjour, Je suis en train de développer quelques classes pour un projet perso. J'ai dans un même Namespace une dizaine de classes (toutes publiques) Connaitre les types utilisés dans une classe [ par mastercatz ] Bonjour J'ai une classe que je voudrais dupliquer (une classe du framework pour ne rien cacher :) et je voudrais connaitre les classes utilisées dedan [.Net] Création de DLL et double chainage [ par Atmaweapon ] Bonjour à tous ! J'ai un problème pas forcément évident à expliquer, donc je me suis donné la peine de faire un schéma pour vous l'expliquer. Le voici projet qui heritent de methodes venant d'interface [ par benbobo55 ] (Avec Visual Studio 2003)Ok le titre n'est explicite!Voilà:G une interface avec plusieures methodes. cette interface est dans un projet1.Dans un autre Instancier une classe... [ par Yandroide ] J'ai ajouté comme référence à mon projet, une dll qui contient des classes.Quand j'essaye d'instancier une de ces classes pour utiliser les méthodes c séparer les classes pour faire une dll [ par nicotom ] Salut à tousJe suis sur un logiciel qui comporte environ 25 classes.j'aimerai faire une dll par classe.J'utilisa le compilateur en ligne de commande a


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,406 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales