Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
James RAVAILLE
Bonjour,
Voici mon avis :
--> Les interfaces et les classes abstraites sont des types de données. Il n'est pas possible de créer des objets avec ces classes.
--> Une interface contient une liste de méthodes non implémentées. Charges aux classes qui implémentent ces interfaces d'implémenter ces méthodes. Les interfaces exposent alors des attributs et des méthodes d'une classe. La classe peut posséder d'autres attributs et méthodes, qui ne pourront être utilisées par les objets manipulant les objets créés à partir de l'interface. Une interface peut être implémentée par plusieurs classes. Les interfaces peuvent aussi servir de contrat entre deux composants (au sens assemblies). C'est-à-dire qu'un composant peut utiliser des méthodes sur des objets, sans savoir comment ces méthodes ont été implémentées... Les interfaces peuvent hériter entre elles. Alors une classe C qui implémente une interface B qui elle-même hérite de l'interface A, devra implémenter les méthodes visibles dans B, avec celles héritées de A.
--> Les classes abstraites sont des classes contenant des méthodes abstraites, et des méthodes non abstraites (implémentées). Une méthode abstraite est une méthode qui ne possède pas d'implémentation. Seule la signature de la méthode est fournie. Une classe abstraite possède des classes dérivées (cf : héritage). L'implémentation de la méthode abstraite devra être effectuée dans les classes héritant de la classe abstraite. Dans la modélisation, les classes abstraites sont généralement comme des "classes-mères", des modèles de classes... Dans le développement objet avec .NET les classes abstraites sont uniquement des types d'objets. Elles ne peuvent être instanciées. Lors de l'appel de la méthode sur un objet du type de la classe abstraite, la méthode exacte appelée sera fonction de la classe dérivée, ayant été utilisée pour créer cet objet.
Cordialement,
-- James RAVAILLE. MCAD .NET et MCT .NET http://www.certifdotnet.com
"Titeuf" a écrit dans le message de news: %
Bonsoir, Quelle est la différence entre une classe abstraite et une interface ?? Merci d'avance
Bonjour,
Voici mon avis :
--> Les interfaces et les classes abstraites sont des types de données. Il
n'est pas possible de créer des objets avec ces classes.
--> Une interface contient une liste de méthodes non implémentées. Charges
aux classes qui implémentent ces interfaces d'implémenter ces méthodes. Les
interfaces exposent alors des attributs et des méthodes d'une classe. La
classe peut posséder d'autres attributs et méthodes, qui ne pourront être
utilisées par les objets manipulant les objets créés à partir de
l'interface.
Une interface peut être implémentée par plusieurs classes.
Les interfaces peuvent aussi servir de contrat entre deux composants (au
sens assemblies). C'est-à-dire qu'un composant peut utiliser des méthodes
sur des objets, sans savoir comment ces méthodes ont été implémentées...
Les interfaces peuvent hériter entre elles. Alors une classe C qui
implémente une interface B qui elle-même hérite de l'interface A, devra
implémenter les méthodes visibles dans B, avec celles héritées de A.
--> Les classes abstraites sont des classes contenant des méthodes
abstraites, et des méthodes non abstraites (implémentées). Une méthode
abstraite est une méthode qui ne possède pas d'implémentation. Seule la
signature de la méthode est fournie. Une classe abstraite possède des
classes dérivées (cf : héritage). L'implémentation de la méthode abstraite
devra être effectuée dans les classes héritant de la classe abstraite. Dans
la modélisation, les classes abstraites sont généralement comme des
"classes-mères", des modèles de classes...
Dans le développement objet avec .NET les classes abstraites sont uniquement
des types d'objets. Elles ne peuvent être instanciées. Lors de l'appel de la
méthode sur un objet du type de la classe abstraite, la méthode exacte
appelée sera fonction de la classe dérivée, ayant été utilisée pour créer
cet objet.
Cordialement,
--
James RAVAILLE.
MCAD .NET et MCT .NET
http://www.certifdotnet.com
"Titeuf" <titeuf@nospam.fr> a écrit dans le message de news:
%23jT12TDBGHA.240@TK2MSFTNGP11.phx.gbl...
Bonsoir,
Quelle est la différence entre une classe abstraite et une interface ??
Merci d'avance
--> Les interfaces et les classes abstraites sont des types de données. Il n'est pas possible de créer des objets avec ces classes.
--> Une interface contient une liste de méthodes non implémentées. Charges aux classes qui implémentent ces interfaces d'implémenter ces méthodes. Les interfaces exposent alors des attributs et des méthodes d'une classe. La classe peut posséder d'autres attributs et méthodes, qui ne pourront être utilisées par les objets manipulant les objets créés à partir de l'interface. Une interface peut être implémentée par plusieurs classes. Les interfaces peuvent aussi servir de contrat entre deux composants (au sens assemblies). C'est-à-dire qu'un composant peut utiliser des méthodes sur des objets, sans savoir comment ces méthodes ont été implémentées... Les interfaces peuvent hériter entre elles. Alors une classe C qui implémente une interface B qui elle-même hérite de l'interface A, devra implémenter les méthodes visibles dans B, avec celles héritées de A.
--> Les classes abstraites sont des classes contenant des méthodes abstraites, et des méthodes non abstraites (implémentées). Une méthode abstraite est une méthode qui ne possède pas d'implémentation. Seule la signature de la méthode est fournie. Une classe abstraite possède des classes dérivées (cf : héritage). L'implémentation de la méthode abstraite devra être effectuée dans les classes héritant de la classe abstraite. Dans la modélisation, les classes abstraites sont généralement comme des "classes-mères", des modèles de classes... Dans le développement objet avec .NET les classes abstraites sont uniquement des types d'objets. Elles ne peuvent être instanciées. Lors de l'appel de la méthode sur un objet du type de la classe abstraite, la méthode exacte appelée sera fonction de la classe dérivée, ayant été utilisée pour créer cet objet.
Cordialement,
-- James RAVAILLE. MCAD .NET et MCT .NET http://www.certifdotnet.com
"Titeuf" a écrit dans le message de news: %
Bonsoir, Quelle est la différence entre une classe abstraite et une interface ?? Merci d'avance
James RAVAILLE. MCAD .NET et MCT .NET http://www.certifdotnet.com
"Titeuf" a écrit dans le message de news:
Merci pour ces explications !!
Patrick Philippot
Bonjour,
Quelle est la différence entre une classe abstraite et une interface
En complément:
Une classe peut implémenter autant d'interfaces qu'elle le désire mais ne peut hériter que d'une seule autre classe. Donc, si on implémente le polymorphisme via un héritage basé sur une classe abstraite, on s'interdit toute autre possibilité d'héritage.
Si par contre, on implémente le polymorphisme en se basant sur un héritage d'interface, l'objet en question peut participer à de nouvelles relations du type "est-un(e)" sans compromettre les autres. En d'autres termes, la classe en question peut participer à différents traitements banalisés sur des classes polymorphes entre elles sur une interface donnée. C'est beaucoup plus souple et cela génère moins de couplage.
Pendant de nombreuses années, on a confondu en un seul terme (héritage) 2 notions très différentes: héritage d'interface et héritage d'implémentation. Et on a longtemps dit que le polymorphisme dépendait de l'héritage d'implémentation. Ce qui est faux.
-- Patrick Philippot - Microsoft MVP MainSoft Consulting Services www.mainsoft.fr
Bonjour,
Quelle est la différence entre une classe abstraite et une interface
En complément:
Une classe peut implémenter autant d'interfaces qu'elle le désire mais
ne peut hériter que d'une seule autre classe. Donc, si on implémente le
polymorphisme via un héritage basé sur une classe abstraite, on
s'interdit toute autre possibilité d'héritage.
Si par contre, on implémente le polymorphisme en se basant sur un
héritage d'interface, l'objet en question peut participer à de nouvelles
relations du type "est-un(e)" sans compromettre les autres. En d'autres
termes, la classe en question peut participer à différents traitements
banalisés sur des classes polymorphes entre elles sur une interface
donnée. C'est beaucoup plus souple et cela génère moins de couplage.
Pendant de nombreuses années, on a confondu en un seul terme (héritage)
2 notions très différentes: héritage d'interface et héritage
d'implémentation. Et on a longtemps dit que le polymorphisme dépendait
de l'héritage d'implémentation. Ce qui est faux.
--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr
Quelle est la différence entre une classe abstraite et une interface
En complément:
Une classe peut implémenter autant d'interfaces qu'elle le désire mais ne peut hériter que d'une seule autre classe. Donc, si on implémente le polymorphisme via un héritage basé sur une classe abstraite, on s'interdit toute autre possibilité d'héritage.
Si par contre, on implémente le polymorphisme en se basant sur un héritage d'interface, l'objet en question peut participer à de nouvelles relations du type "est-un(e)" sans compromettre les autres. En d'autres termes, la classe en question peut participer à différents traitements banalisés sur des classes polymorphes entre elles sur une interface donnée. C'est beaucoup plus souple et cela génère moins de couplage.
Pendant de nombreuses années, on a confondu en un seul terme (héritage) 2 notions très différentes: héritage d'interface et héritage d'implémentation. Et on a longtemps dit que le polymorphisme dépendait de l'héritage d'implémentation. Ce qui est faux.
-- Patrick Philippot - Microsoft MVP MainSoft Consulting Services www.mainsoft.fr