Suis passé au C# après quelques années de Vb.
Mais y'a un truc que j'arrive toujours pas à piger
( c'est pas faute d'avoir chercher pourtant ) , est ce que quelqu'un
pourrai m'expliquer ce qu'est une interface en .NET, leur intérêt ...
Parceque j'ai beau chercher, je vois pas la différence avec un objet !
exemple ( datareader et Idatareader ), en plus ca s'utilise de la même
façon !!
Donc est ce que quelqu'un pourrai éclairer ma lanterne et me
faire comprendre une bonne fois pour toute cette notion d'interface !
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
David Alloza
Dans une interface tu expose un moyen d'acceder à des méthodes, mais tu n'implemente rien. C'est en quelque sorte un descripteur d'accés applicable sur les classes qui hériterons de ton interface. Pourquoi alors les interfaces existent etant donné qu'elles ne sont que des classes apauvries de leur implémentation ? Tout simplement car en C#, l'héritage multiple est interdit ( ce qui n'est pas un mal ), par contre, pour une classe il est possible d'hériter simultanément d'une classe et d'une interface. Bref, c'est une sorte d'héritage multiple bridé. En C++ l'héritage multiple est autorisé, du coup les interfaces ne sont pas nécéssaires. On peut cependant designer en C++ des sortes d'interfaces en créant des classes composées uniquement de fonctions virtuelles pures. Cordialement, David Alloza.
"JO" a écrit dans le message de news:
Suis passé au C# après quelques années de Vb. Mais y'a un truc que j'arrive toujours pas à piger ( c'est pas faute d'avoir chercher pourtant ) , est ce que quelqu'un pourrai m'expliquer ce qu'est une interface en .NET, leur intérêt ... Parceque j'ai beau chercher, je vois pas la différence avec un objet ! exemple ( datareader et Idatareader ), en plus ca s'utilise de la même façon !!
Donc est ce que quelqu'un pourrai éclairer ma lanterne et me faire comprendre une bonne fois pour toute cette notion d'interface !
Un grand merci à cette personne par avance ;-)
Jonathan
Dans une interface tu expose un moyen d'acceder à des méthodes, mais tu
n'implemente rien.
C'est en quelque sorte un descripteur d'accés applicable sur les classes qui
hériterons de ton interface.
Pourquoi alors les interfaces existent etant donné qu'elles ne sont que des
classes apauvries de leur implémentation ?
Tout simplement car en C#, l'héritage multiple est interdit ( ce qui n'est
pas un mal ), par contre, pour une classe il est possible d'hériter
simultanément d'une classe et d'une interface.
Bref, c'est une sorte d'héritage multiple bridé.
En C++ l'héritage multiple est autorisé, du coup les interfaces ne sont pas
nécéssaires. On peut cependant designer en C++ des sortes d'interfaces en
créant des classes composées uniquement de fonctions virtuelles pures.
Cordialement,
David Alloza.
"JO" <JO@discussions.microsoft.com> a écrit dans le message de news:
BBAC1DDD-8A92-4986-B0DE-0E2A469D7649@microsoft.com...
Suis passé au C# après quelques années de Vb.
Mais y'a un truc que j'arrive toujours pas à piger
( c'est pas faute d'avoir chercher pourtant ) , est ce que quelqu'un
pourrai m'expliquer ce qu'est une interface en .NET, leur intérêt ...
Parceque j'ai beau chercher, je vois pas la différence avec un objet !
exemple ( datareader et Idatareader ), en plus ca s'utilise de la même
façon !!
Donc est ce que quelqu'un pourrai éclairer ma lanterne et me
faire comprendre une bonne fois pour toute cette notion d'interface !
Dans une interface tu expose un moyen d'acceder à des méthodes, mais tu n'implemente rien. C'est en quelque sorte un descripteur d'accés applicable sur les classes qui hériterons de ton interface. Pourquoi alors les interfaces existent etant donné qu'elles ne sont que des classes apauvries de leur implémentation ? Tout simplement car en C#, l'héritage multiple est interdit ( ce qui n'est pas un mal ), par contre, pour une classe il est possible d'hériter simultanément d'une classe et d'une interface. Bref, c'est une sorte d'héritage multiple bridé. En C++ l'héritage multiple est autorisé, du coup les interfaces ne sont pas nécéssaires. On peut cependant designer en C++ des sortes d'interfaces en créant des classes composées uniquement de fonctions virtuelles pures. Cordialement, David Alloza.
"JO" a écrit dans le message de news:
Suis passé au C# après quelques années de Vb. Mais y'a un truc que j'arrive toujours pas à piger ( c'est pas faute d'avoir chercher pourtant ) , est ce que quelqu'un pourrai m'expliquer ce qu'est une interface en .NET, leur intérêt ... Parceque j'ai beau chercher, je vois pas la différence avec un objet ! exemple ( datareader et Idatareader ), en plus ca s'utilise de la même façon !!
Donc est ce que quelqu'un pourrai éclairer ma lanterne et me faire comprendre une bonne fois pour toute cette notion d'interface !
Un grand merci à cette personne par avance ;-)
Jonathan
Faust
pour faire simple: dire qu'une classe implémente une interface c'est dire que la classe propose un certains nombre de méthodes/propriétés
l'intérêt?
imagine que tu fasse une application se connectant à une base de données et que tu veux offrir à ton utilisateur la possibilité de choisir le type de base de données qu'il veut utiliser (par exemple SQLServer ou Oracle) sans les interfaces tu va être obligé d'être du code utilisant les classes de connexion au serveur SQLServeur et du code utilisant les classes de connexion au serveur Oracle d'où duplication de code
avec les interfaces, tu n'écris qu'un seul code d'interrogation de la base de données s'appuyant sur certaines interfaces (idatareader par exemple) et tu n'as que très peu (voire aucun) code spécifique au type de serveur de base de données utilisé
/Après mure réflexion, _JO_ a écrit/ :
Suis passé au C# après quelques années de Vb. Mais y'a un truc que j'arrive toujours pas à piger ( c'est pas faute d'avoir chercher pourtant ) , est ce que quelqu'un pourrai m'expliquer ce qu'est une interface en .NET, leur intérêt ... Parceque j'ai beau chercher, je vois pas la différence avec un objet ! exemple ( datareader et Idatareader ), en plus ca s'utilise de la même façon !!
Donc est ce que quelqu'un pourrai éclairer ma lanterne et me faire comprendre une bonne fois pour toute cette notion d'interface !
Un grand merci à cette personne par avance ;-)
Jonathan
-- */Teträm/* http://www.tetram.org
"Entre le cerveau et la main, le médiateur doit être le coeur" - Fritz Lang
pour faire simple: dire qu'une classe implémente une interface c'est
dire que la classe propose un certains nombre de méthodes/propriétés
l'intérêt?
imagine que tu fasse une application se connectant à une base de
données et que tu veux offrir à ton utilisateur la possibilité de
choisir le type de base de données qu'il veut utiliser (par exemple
SQLServer ou Oracle)
sans les interfaces tu va être obligé d'être du code utilisant les
classes de connexion au serveur SQLServeur et du code utilisant les
classes de connexion au serveur Oracle
d'où duplication de code
avec les interfaces, tu n'écris qu'un seul code d'interrogation de la
base de données s'appuyant sur certaines interfaces (idatareader par
exemple)
et tu n'as que très peu (voire aucun) code spécifique au type de
serveur de base de données utilisé
/Après mure réflexion, _JO_ a écrit/ :
Suis passé au C# après quelques années de Vb.
Mais y'a un truc que j'arrive toujours pas à piger
( c'est pas faute d'avoir chercher pourtant ) , est ce que quelqu'un
pourrai m'expliquer ce qu'est une interface en .NET, leur intérêt ...
Parceque j'ai beau chercher, je vois pas la différence avec un objet !
exemple ( datareader et Idatareader ), en plus ca s'utilise de la même
façon !!
Donc est ce que quelqu'un pourrai éclairer ma lanterne et me
faire comprendre une bonne fois pour toute cette notion d'interface !
Un grand merci à cette personne par avance ;-)
Jonathan
--
*/Teträm/*
http://www.tetram.org
"Entre le cerveau et la main, le médiateur doit être le coeur" - Fritz
Lang
pour faire simple: dire qu'une classe implémente une interface c'est dire que la classe propose un certains nombre de méthodes/propriétés
l'intérêt?
imagine que tu fasse une application se connectant à une base de données et que tu veux offrir à ton utilisateur la possibilité de choisir le type de base de données qu'il veut utiliser (par exemple SQLServer ou Oracle) sans les interfaces tu va être obligé d'être du code utilisant les classes de connexion au serveur SQLServeur et du code utilisant les classes de connexion au serveur Oracle d'où duplication de code
avec les interfaces, tu n'écris qu'un seul code d'interrogation de la base de données s'appuyant sur certaines interfaces (idatareader par exemple) et tu n'as que très peu (voire aucun) code spécifique au type de serveur de base de données utilisé
/Après mure réflexion, _JO_ a écrit/ :
Suis passé au C# après quelques années de Vb. Mais y'a un truc que j'arrive toujours pas à piger ( c'est pas faute d'avoir chercher pourtant ) , est ce que quelqu'un pourrai m'expliquer ce qu'est une interface en .NET, leur intérêt ... Parceque j'ai beau chercher, je vois pas la différence avec un objet ! exemple ( datareader et Idatareader ), en plus ca s'utilise de la même façon !!
Donc est ce que quelqu'un pourrai éclairer ma lanterne et me faire comprendre une bonne fois pour toute cette notion d'interface !
Un grand merci à cette personne par avance ;-)
Jonathan
-- */Teträm/* http://www.tetram.org
"Entre le cerveau et la main, le médiateur doit être le coeur" - Fritz Lang
Mehdi
On Mon, 8 Aug 2005 02:39:19 -0700, JO wrote:
Suis passé au C# après quelques années de Vb. Mais y'a un truc que j'arrive toujours pas à piger ( c'est pas faute d'avoir chercher pourtant ) , est ce que quelqu'un pourrai m'expliquer ce qu'est une interface en .NET, leur intérêt ...
Pour completer les autres réponse, d'une maniere générale, achete et potasse un bon bouquin traitant de la progammation orientée object (OOP). La notion d'interface est une des notions importantes de l'OOP et n'est en rien spécifique a C#.
On Mon, 8 Aug 2005 02:39:19 -0700, JO wrote:
Suis passé au C# après quelques années de Vb.
Mais y'a un truc que j'arrive toujours pas à piger
( c'est pas faute d'avoir chercher pourtant ) , est ce que quelqu'un
pourrai m'expliquer ce qu'est une interface en .NET, leur intérêt ...
Pour completer les autres réponse, d'une maniere générale, achete et
potasse un bon bouquin traitant de la progammation orientée object (OOP).
La notion d'interface est une des notions importantes de l'OOP et n'est en
rien spécifique a C#.
Suis passé au C# après quelques années de Vb. Mais y'a un truc que j'arrive toujours pas à piger ( c'est pas faute d'avoir chercher pourtant ) , est ce que quelqu'un pourrai m'expliquer ce qu'est une interface en .NET, leur intérêt ...
Pour completer les autres réponse, d'une maniere générale, achete et potasse un bon bouquin traitant de la progammation orientée object (OOP). La notion d'interface est une des notions importantes de l'OOP et n'est en rien spécifique a C#.
Whiplash
une interface est une liste de points communs entre plusieurs classes
"JO" a écrit dans le message de news:
Suis passé au C# après quelques années de Vb. Mais y'a un truc que j'arrive toujours pas à piger ( c'est pas faute d'avoir chercher pourtant ) , est ce que quelqu'un pourrai m'expliquer ce qu'est une interface en .NET, leur intérêt ... Parceque j'ai beau chercher, je vois pas la différence avec un objet ! exemple ( datareader et Idatareader ), en plus ca s'utilise de la même façon !!
Donc est ce que quelqu'un pourrai éclairer ma lanterne et me faire comprendre une bonne fois pour toute cette notion d'interface !
Un grand merci à cette personne par avance ;-)
Jonathan
une interface est une liste de points communs entre plusieurs classes
"JO" <JO@discussions.microsoft.com> a écrit dans le message de news:BBAC1DDD-8A92-4986-B0DE-0E2A469D7649@microsoft.com...
Suis passé au C# après quelques années de Vb.
Mais y'a un truc que j'arrive toujours pas à piger
( c'est pas faute d'avoir chercher pourtant ) , est ce que quelqu'un
pourrai m'expliquer ce qu'est une interface en .NET, leur intérêt ...
Parceque j'ai beau chercher, je vois pas la différence avec un objet !
exemple ( datareader et Idatareader ), en plus ca s'utilise de la même
façon !!
Donc est ce que quelqu'un pourrai éclairer ma lanterne et me
faire comprendre une bonne fois pour toute cette notion d'interface !
une interface est une liste de points communs entre plusieurs classes
"JO" a écrit dans le message de news:
Suis passé au C# après quelques années de Vb. Mais y'a un truc que j'arrive toujours pas à piger ( c'est pas faute d'avoir chercher pourtant ) , est ce que quelqu'un pourrai m'expliquer ce qu'est une interface en .NET, leur intérêt ... Parceque j'ai beau chercher, je vois pas la différence avec un objet ! exemple ( datareader et Idatareader ), en plus ca s'utilise de la même façon !!
Donc est ce que quelqu'un pourrai éclairer ma lanterne et me faire comprendre une bonne fois pour toute cette notion d'interface !
Un grand merci à cette personne par avance ;-)
Jonathan
Paul Bacelar
Ma contribution aux explications.
Une interface est un contrat logiciel indiquant à l'utilisateur de cette interface comment utiliser les différents types objets implémentant cette interface.
Exemple : l'Interface ICalculerAire avec une seule méthode CalculerAire.
Un bout de code peut donc demander l'aire de n'importe quel objet du moment que cet objet implémente ICalculerAire. -- Paul Bacelar
"JO" wrote in message news:
Suis passé au C# après quelques années de Vb. Mais y'a un truc que j'arrive toujours pas à piger ( c'est pas faute d'avoir chercher pourtant ) , est ce que quelqu'un pourrai m'expliquer ce qu'est une interface en .NET, leur intérêt ... Parceque j'ai beau chercher, je vois pas la différence avec un objet ! exemple ( datareader et Idatareader ), en plus ca s'utilise de la même façon !!
Donc est ce que quelqu'un pourrai éclairer ma lanterne et me faire comprendre une bonne fois pour toute cette notion d'interface !
Un grand merci à cette personne par avance ;-)
Jonathan
Ma contribution aux explications.
Une interface est un contrat logiciel indiquant à l'utilisateur de cette
interface comment utiliser les différents types objets implémentant cette
interface.
Exemple : l'Interface ICalculerAire avec une seule méthode CalculerAire.
Un bout de code peut donc demander l'aire de n'importe quel objet du moment
que cet objet implémente ICalculerAire.
--
Paul Bacelar
"JO" <JO@discussions.microsoft.com> wrote in message
news:BBAC1DDD-8A92-4986-B0DE-0E2A469D7649@microsoft.com...
Suis passé au C# après quelques années de Vb.
Mais y'a un truc que j'arrive toujours pas à piger
( c'est pas faute d'avoir chercher pourtant ) , est ce que quelqu'un
pourrai m'expliquer ce qu'est une interface en .NET, leur intérêt ...
Parceque j'ai beau chercher, je vois pas la différence avec un objet !
exemple ( datareader et Idatareader ), en plus ca s'utilise de la même
façon !!
Donc est ce que quelqu'un pourrai éclairer ma lanterne et me
faire comprendre une bonne fois pour toute cette notion d'interface !
Une interface est un contrat logiciel indiquant à l'utilisateur de cette interface comment utiliser les différents types objets implémentant cette interface.
Exemple : l'Interface ICalculerAire avec une seule méthode CalculerAire.
Un bout de code peut donc demander l'aire de n'importe quel objet du moment que cet objet implémente ICalculerAire. -- Paul Bacelar
"JO" wrote in message news:
Suis passé au C# après quelques années de Vb. Mais y'a un truc que j'arrive toujours pas à piger ( c'est pas faute d'avoir chercher pourtant ) , est ce que quelqu'un pourrai m'expliquer ce qu'est une interface en .NET, leur intérêt ... Parceque j'ai beau chercher, je vois pas la différence avec un objet ! exemple ( datareader et Idatareader ), en plus ca s'utilise de la même façon !!
Donc est ce que quelqu'un pourrai éclairer ma lanterne et me faire comprendre une bonne fois pour toute cette notion d'interface !
Un grand merci à cette personne par avance ;-)
Jonathan
Bruno Jouhier [MVP]
Une petite réponse que j'avais déjà postée ailleurs, pour un éclairage un peu "linguistique" de la chose:
Un peu de grammaire:
* Les classes, ce sont les substantifs (les noms) de ton programme * Les méthodes, ce sont les verbes. * Les interfaces, ce sont les adjectifs qualificatifs.
Ca a peut-être l'air un peu farfelu comme présentation mais en fait ça ne l'est pas tant que ça:
* Un nom, c'est une "implementation" particulière: un "chien", ça a 4 pattes, des crocs, etc.
* Un adjectif qualificatif, c'est une "spécification pure": un "carnivore", c'est qque chose qui mange de la viande, indépendamment de la façon dont ce qque chose sera implémenté: un tigre, un chien, une drosera.
L'intérêt des interfaces, c'est qu'elles permettent de manipuler de manière uniforme des objets hétérogènes (un tigre, un chien, une drosera) qui ont un ensemble de méthodes communes (qui mangent tous de la viande).
Et, de la même manière que la grammaire usuelle nous permet d'appliquer un nombre quelconque d'adjectifs qualificatifs à un nom (un animal carnivore, agressif, diurne, etc.), les langages comme Java et C# permettent d'appliquer un nombre quelconque d'interfaces à une classe donnée.
Les interfaces, c'est donc ce qui pemet d'attribuer des "spécifications" à des classes, sans être contraint par un schéma d'héritage rigide. Ca offre plusieurs avantages par rapport à l'héritage multiple:
* C'est plus souple. * Ca évite des problèmes complexes comme l'héritage "répété". * Ca correspond mieux à notre "grammaire naturelle" (dans laquelle les adjectifs peuvent être combinés à volonté dans une définition, mais pas les noms).
Bruno.
"JO" a écrit dans le message de news:
Suis passé au C# après quelques années de Vb. Mais y'a un truc que j'arrive toujours pas à piger ( c'est pas faute d'avoir chercher pourtant ) , est ce que quelqu'un pourrai m'expliquer ce qu'est une interface en .NET, leur intérêt ... Parceque j'ai beau chercher, je vois pas la différence avec un objet ! exemple ( datareader et Idatareader ), en plus ca s'utilise de la même façon !!
Donc est ce que quelqu'un pourrai éclairer ma lanterne et me faire comprendre une bonne fois pour toute cette notion d'interface !
Un grand merci à cette personne par avance ;-)
Jonathan
Une petite réponse que j'avais déjà postée ailleurs, pour un éclairage un
peu "linguistique" de la chose:
Un peu de grammaire:
* Les classes, ce sont les substantifs (les noms) de ton programme
* Les méthodes, ce sont les verbes.
* Les interfaces, ce sont les adjectifs qualificatifs.
Ca a peut-être l'air un peu farfelu comme présentation mais en fait ça ne
l'est pas tant que ça:
* Un nom, c'est une "implementation" particulière: un "chien", ça a 4
pattes, des crocs, etc.
* Un adjectif qualificatif, c'est une "spécification pure": un "carnivore",
c'est qque chose qui mange de la viande, indépendamment de la façon dont ce
qque chose sera implémenté: un tigre, un chien, une drosera.
L'intérêt des interfaces, c'est qu'elles permettent de manipuler de manière
uniforme des objets hétérogènes (un tigre, un chien, une drosera) qui ont un
ensemble de méthodes communes (qui mangent tous de la viande).
Et, de la même manière que la grammaire usuelle nous permet d'appliquer un
nombre quelconque d'adjectifs qualificatifs à un nom (un animal carnivore,
agressif, diurne, etc.), les langages comme Java et C# permettent
d'appliquer
un nombre quelconque d'interfaces à une classe donnée.
Les interfaces, c'est donc ce qui pemet d'attribuer des "spécifications" à
des classes, sans être contraint par un schéma d'héritage rigide. Ca offre
plusieurs avantages par rapport à l'héritage multiple:
* C'est plus souple.
* Ca évite des problèmes complexes comme l'héritage "répété".
* Ca correspond mieux à notre "grammaire naturelle" (dans laquelle les
adjectifs peuvent être combinés à volonté dans une définition, mais pas les
noms).
Bruno.
"JO" <JO@discussions.microsoft.com> a écrit dans le message de news:
BBAC1DDD-8A92-4986-B0DE-0E2A469D7649@microsoft.com...
Suis passé au C# après quelques années de Vb.
Mais y'a un truc que j'arrive toujours pas à piger
( c'est pas faute d'avoir chercher pourtant ) , est ce que quelqu'un
pourrai m'expliquer ce qu'est une interface en .NET, leur intérêt ...
Parceque j'ai beau chercher, je vois pas la différence avec un objet !
exemple ( datareader et Idatareader ), en plus ca s'utilise de la même
façon !!
Donc est ce que quelqu'un pourrai éclairer ma lanterne et me
faire comprendre une bonne fois pour toute cette notion d'interface !
Une petite réponse que j'avais déjà postée ailleurs, pour un éclairage un peu "linguistique" de la chose:
Un peu de grammaire:
* Les classes, ce sont les substantifs (les noms) de ton programme * Les méthodes, ce sont les verbes. * Les interfaces, ce sont les adjectifs qualificatifs.
Ca a peut-être l'air un peu farfelu comme présentation mais en fait ça ne l'est pas tant que ça:
* Un nom, c'est une "implementation" particulière: un "chien", ça a 4 pattes, des crocs, etc.
* Un adjectif qualificatif, c'est une "spécification pure": un "carnivore", c'est qque chose qui mange de la viande, indépendamment de la façon dont ce qque chose sera implémenté: un tigre, un chien, une drosera.
L'intérêt des interfaces, c'est qu'elles permettent de manipuler de manière uniforme des objets hétérogènes (un tigre, un chien, une drosera) qui ont un ensemble de méthodes communes (qui mangent tous de la viande).
Et, de la même manière que la grammaire usuelle nous permet d'appliquer un nombre quelconque d'adjectifs qualificatifs à un nom (un animal carnivore, agressif, diurne, etc.), les langages comme Java et C# permettent d'appliquer un nombre quelconque d'interfaces à une classe donnée.
Les interfaces, c'est donc ce qui pemet d'attribuer des "spécifications" à des classes, sans être contraint par un schéma d'héritage rigide. Ca offre plusieurs avantages par rapport à l'héritage multiple:
* C'est plus souple. * Ca évite des problèmes complexes comme l'héritage "répété". * Ca correspond mieux à notre "grammaire naturelle" (dans laquelle les adjectifs peuvent être combinés à volonté dans une définition, mais pas les noms).
Bruno.
"JO" a écrit dans le message de news:
Suis passé au C# après quelques années de Vb. Mais y'a un truc que j'arrive toujours pas à piger ( c'est pas faute d'avoir chercher pourtant ) , est ce que quelqu'un pourrai m'expliquer ce qu'est une interface en .NET, leur intérêt ... Parceque j'ai beau chercher, je vois pas la différence avec un objet ! exemple ( datareader et Idatareader ), en plus ca s'utilise de la même façon !!
Donc est ce que quelqu'un pourrai éclairer ma lanterne et me faire comprendre une bonne fois pour toute cette notion d'interface !