Bonjour,
Question 1 :
Une classe qui hérite d'une implémentation d'interface peut réimplémenter
l'interface en l'incluant dans sa liste de classes de base.
Quel est l'intérêt de réimplémenter une interface ?
Question 2 :
Dans du code, on voit parfois une classe qui, dans sa déclaration, hérite
d'une classe de base et d'une interface, et que cette interface est déjà
implémentée par la classe de base. Mais pourtant, les méthodes de
l'interface
ne sont pas réimplémenté dans la classe dérivée. Quel est l'intérêt dans
ce
cas d'fériter à nouveau de l'interface ?
Par exemple :
interface IMyInterface
{ ... }
public class MyClassBase : IMyInterface
{ ... }
public class MyClassDerived : MyClassBase, IMyInterface
{ ... }
Merci pour votre aide.
Bonjour,
Question 1 :
Une classe qui hérite d'une implémentation d'interface peut réimplémenter
l'interface en l'incluant dans sa liste de classes de base.
Quel est l'intérêt de réimplémenter une interface ?
Question 2 :
Dans du code, on voit parfois une classe qui, dans sa déclaration, hérite
d'une classe de base et d'une interface, et que cette interface est déjà
implémentée par la classe de base. Mais pourtant, les méthodes de
l'interface
ne sont pas réimplémenté dans la classe dérivée. Quel est l'intérêt dans
ce
cas d'fériter à nouveau de l'interface ?
Par exemple :
interface IMyInterface
{ ... }
public class MyClassBase : IMyInterface
{ ... }
public class MyClassDerived : MyClassBase, IMyInterface
{ ... }
Merci pour votre aide.
Bonjour,
Question 1 :
Une classe qui hérite d'une implémentation d'interface peut réimplémenter
l'interface en l'incluant dans sa liste de classes de base.
Quel est l'intérêt de réimplémenter une interface ?
Question 2 :
Dans du code, on voit parfois une classe qui, dans sa déclaration, hérite
d'une classe de base et d'une interface, et que cette interface est déjà
implémentée par la classe de base. Mais pourtant, les méthodes de
l'interface
ne sont pas réimplémenté dans la classe dérivée. Quel est l'intérêt dans
ce
cas d'fériter à nouveau de l'interface ?
Par exemple :
interface IMyInterface
{ ... }
public class MyClassBase : IMyInterface
{ ... }
public class MyClassDerived : MyClassBase, IMyInterface
{ ... }
Merci pour votre aide.
Q1:
pour changer l'implémentation?
Q2:
ça n'a pas grand intêret, sauf éventuellement pour des outils où des
programmes qui seraient basés sur des mécanismes d'introspection
(=reflexion) et qui s'arrêteraient au niveau d'une classe sans scruter les
classes de base
Simon.
"ShadowFil" a écrit dans le message de
news:
> Bonjour,
>
> Question 1 :
> Une classe qui hérite d'une implémentation d'interface peut réimplémenter
> l'interface en l'incluant dans sa liste de classes de base.
>
> Quel est l'intérêt de réimplémenter une interface ?
>
> Question 2 :
> Dans du code, on voit parfois une classe qui, dans sa déclaration, hérite
> d'une classe de base et d'une interface, et que cette interface est déjà
> implémentée par la classe de base. Mais pourtant, les méthodes de
> l'interface
> ne sont pas réimplémenté dans la classe dérivée. Quel est l'intérêt dans
> ce
> cas d'fériter à nouveau de l'interface ?
>
> Par exemple :
> interface IMyInterface
> { ... }
>
> public class MyClassBase : IMyInterface
> { ... }
>
> public class MyClassDerived : MyClassBase, IMyInterface
> { ... }
>
>
> Merci pour votre aide.
Q1:
pour changer l'implémentation?
Q2:
ça n'a pas grand intêret, sauf éventuellement pour des outils où des
programmes qui seraient basés sur des mécanismes d'introspection
(=reflexion) et qui s'arrêteraient au niveau d'une classe sans scruter les
classes de base
Simon.
"ShadowFil" <ShadowFil@discussions.microsoft.com> a écrit dans le message de
news: 3375CE79-23C3-4F42-8BCB-F156C95CF208@microsoft.com...
> Bonjour,
>
> Question 1 :
> Une classe qui hérite d'une implémentation d'interface peut réimplémenter
> l'interface en l'incluant dans sa liste de classes de base.
>
> Quel est l'intérêt de réimplémenter une interface ?
>
> Question 2 :
> Dans du code, on voit parfois une classe qui, dans sa déclaration, hérite
> d'une classe de base et d'une interface, et que cette interface est déjà
> implémentée par la classe de base. Mais pourtant, les méthodes de
> l'interface
> ne sont pas réimplémenté dans la classe dérivée. Quel est l'intérêt dans
> ce
> cas d'fériter à nouveau de l'interface ?
>
> Par exemple :
> interface IMyInterface
> { ... }
>
> public class MyClassBase : IMyInterface
> { ... }
>
> public class MyClassDerived : MyClassBase, IMyInterface
> { ... }
>
>
> Merci pour votre aide.
Q1:
pour changer l'implémentation?
Q2:
ça n'a pas grand intêret, sauf éventuellement pour des outils où des
programmes qui seraient basés sur des mécanismes d'introspection
(=reflexion) et qui s'arrêteraient au niveau d'une classe sans scruter les
classes de base
Simon.
"ShadowFil" a écrit dans le message de
news:
> Bonjour,
>
> Question 1 :
> Une classe qui hérite d'une implémentation d'interface peut réimplémenter
> l'interface en l'incluant dans sa liste de classes de base.
>
> Quel est l'intérêt de réimplémenter une interface ?
>
> Question 2 :
> Dans du code, on voit parfois une classe qui, dans sa déclaration, hérite
> d'une classe de base et d'une interface, et que cette interface est déjà
> implémentée par la classe de base. Mais pourtant, les méthodes de
> l'interface
> ne sont pas réimplémenté dans la classe dérivée. Quel est l'intérêt dans
> ce
> cas d'fériter à nouveau de l'interface ?
>
> Par exemple :
> interface IMyInterface
> { ... }
>
> public class MyClassBase : IMyInterface
> { ... }
>
> public class MyClassDerived : MyClassBase, IMyInterface
> { ... }
>
>
> Merci pour votre aide.
Q1:
D'accord mais, il existe déjà des mécanismes pour modifier une
implémentation : new ou override. Si la classe de base implémente déjà un
interface mais qu'on veut modifier cette implémentation, il suffit de
substituer ou masquer les implémentations existantes. Alors pourquoi ce
mécanisme supplémentaire ?
"Simon Mourier [MS]" a écrit :Q1:
pour changer l'implémentation?
Q2:
ça n'a pas grand intêret, sauf éventuellement pour des outils où des
programmes qui seraient basés sur des mécanismes d'introspection
(=reflexion) et qui s'arrêteraient au niveau d'une classe sans scruter
les
classes de base
Simon.
"ShadowFil" a écrit dans le message
de
news:
> Bonjour,
>
> Question 1 :
> Une classe qui hérite d'une implémentation d'interface peut
> réimplémenter
> l'interface en l'incluant dans sa liste de classes de base.
>
> Quel est l'intérêt de réimplémenter une interface ?
>
> Question 2 :
> Dans du code, on voit parfois une classe qui, dans sa déclaration,
> hérite
> d'une classe de base et d'une interface, et que cette interface est
> déjà
> implémentée par la classe de base. Mais pourtant, les méthodes de
> l'interface
> ne sont pas réimplémenté dans la classe dérivée. Quel est l'intérêt
> dans
> ce
> cas d'fériter à nouveau de l'interface ?
>
> Par exemple :
> interface IMyInterface
> { ... }
>
> public class MyClassBase : IMyInterface
> { ... }
>
> public class MyClassDerived : MyClassBase, IMyInterface
> { ... }
>
>
> Merci pour votre aide.
Q1:
D'accord mais, il existe déjà des mécanismes pour modifier une
implémentation : new ou override. Si la classe de base implémente déjà un
interface mais qu'on veut modifier cette implémentation, il suffit de
substituer ou masquer les implémentations existantes. Alors pourquoi ce
mécanisme supplémentaire ?
"Simon Mourier [MS]" a écrit :
Q1:
pour changer l'implémentation?
Q2:
ça n'a pas grand intêret, sauf éventuellement pour des outils où des
programmes qui seraient basés sur des mécanismes d'introspection
(=reflexion) et qui s'arrêteraient au niveau d'une classe sans scruter
les
classes de base
Simon.
"ShadowFil" <ShadowFil@discussions.microsoft.com> a écrit dans le message
de
news: 3375CE79-23C3-4F42-8BCB-F156C95CF208@microsoft.com...
> Bonjour,
>
> Question 1 :
> Une classe qui hérite d'une implémentation d'interface peut
> réimplémenter
> l'interface en l'incluant dans sa liste de classes de base.
>
> Quel est l'intérêt de réimplémenter une interface ?
>
> Question 2 :
> Dans du code, on voit parfois une classe qui, dans sa déclaration,
> hérite
> d'une classe de base et d'une interface, et que cette interface est
> déjà
> implémentée par la classe de base. Mais pourtant, les méthodes de
> l'interface
> ne sont pas réimplémenté dans la classe dérivée. Quel est l'intérêt
> dans
> ce
> cas d'fériter à nouveau de l'interface ?
>
> Par exemple :
> interface IMyInterface
> { ... }
>
> public class MyClassBase : IMyInterface
> { ... }
>
> public class MyClassDerived : MyClassBase, IMyInterface
> { ... }
>
>
> Merci pour votre aide.
Q1:
D'accord mais, il existe déjà des mécanismes pour modifier une
implémentation : new ou override. Si la classe de base implémente déjà un
interface mais qu'on veut modifier cette implémentation, il suffit de
substituer ou masquer les implémentations existantes. Alors pourquoi ce
mécanisme supplémentaire ?
"Simon Mourier [MS]" a écrit :Q1:
pour changer l'implémentation?
Q2:
ça n'a pas grand intêret, sauf éventuellement pour des outils où des
programmes qui seraient basés sur des mécanismes d'introspection
(=reflexion) et qui s'arrêteraient au niveau d'une classe sans scruter
les
classes de base
Simon.
"ShadowFil" a écrit dans le message
de
news:
> Bonjour,
>
> Question 1 :
> Une classe qui hérite d'une implémentation d'interface peut
> réimplémenter
> l'interface en l'incluant dans sa liste de classes de base.
>
> Quel est l'intérêt de réimplémenter une interface ?
>
> Question 2 :
> Dans du code, on voit parfois une classe qui, dans sa déclaration,
> hérite
> d'une classe de base et d'une interface, et que cette interface est
> déjà
> implémentée par la classe de base. Mais pourtant, les méthodes de
> l'interface
> ne sont pas réimplémenté dans la classe dérivée. Quel est l'intérêt
> dans
> ce
> cas d'fériter à nouveau de l'interface ?
>
> Par exemple :
> interface IMyInterface
> { ... }
>
> public class MyClassBase : IMyInterface
> { ... }
>
> public class MyClassDerived : MyClassBase, IMyInterface
> { ... }
>
>
> Merci pour votre aide.
override ne fonctionne que si la classe de base le permet. quand à new, il
marche avec tout type de fonction.
La palette est juste riche et permet une certaine souplesse en fonction de
ses besoins. L'avantage des interfaces en .NET, c'est qu'une classe peut
implémenter plusieurs interfaces, alors qu'elle ne peut dériver que d'une
seule classe (abstraite ou pas).
Simon.
"ShadowFil" a écrit dans le message de
news:
> Q1:
> D'accord mais, il existe déjà des mécanismes pour modifier une
> implémentation : new ou override. Si la classe de base implémente déjà un
> interface mais qu'on veut modifier cette implémentation, il suffit de
> substituer ou masquer les implémentations existantes. Alors pourquoi ce
> mécanisme supplémentaire ?
>
> "Simon Mourier [MS]" a écrit :
>
>> Q1:
>> pour changer l'implémentation?
>>
>> Q2:
>> ça n'a pas grand intêret, sauf éventuellement pour des outils où des
>> programmes qui seraient basés sur des mécanismes d'introspection
>> (=reflexion) et qui s'arrêteraient au niveau d'une classe sans scruter
>> les
>> classes de base
>>
>> Simon.
>> "ShadowFil" a écrit dans le message
>> de
>> news:
>> > Bonjour,
>> >
>> > Question 1 :
>> > Une classe qui hérite d'une implémentation d'interface peut
>> > réimplémenter
>> > l'interface en l'incluant dans sa liste de classes de base.
>> >
>> > Quel est l'intérêt de réimplémenter une interface ?
>> >
>> > Question 2 :
>> > Dans du code, on voit parfois une classe qui, dans sa déclaration,
>> > hérite
>> > d'une classe de base et d'une interface, et que cette interface est
>> > déjà
>> > implémentée par la classe de base. Mais pourtant, les méthodes de
>> > l'interface
>> > ne sont pas réimplémenté dans la classe dérivée. Quel est l'intérêt
>> > dans
>> > ce
>> > cas d'fériter à nouveau de l'interface ?
>> >
>> > Par exemple :
>> > interface IMyInterface
>> > { ... }
>> >
>> > public class MyClassBase : IMyInterface
>> > { ... }
>> >
>> > public class MyClassDerived : MyClassBase, IMyInterface
>> > { ... }
>> >
>> >
>> > Merci pour votre aide.
>>
>>
>>
override ne fonctionne que si la classe de base le permet. quand à new, il
marche avec tout type de fonction.
La palette est juste riche et permet une certaine souplesse en fonction de
ses besoins. L'avantage des interfaces en .NET, c'est qu'une classe peut
implémenter plusieurs interfaces, alors qu'elle ne peut dériver que d'une
seule classe (abstraite ou pas).
Simon.
"ShadowFil" <ShadowFil@discussions.microsoft.com> a écrit dans le message de
news: C2D073D8-68B8-464A-91AA-C9AC35C210E5@microsoft.com...
> Q1:
> D'accord mais, il existe déjà des mécanismes pour modifier une
> implémentation : new ou override. Si la classe de base implémente déjà un
> interface mais qu'on veut modifier cette implémentation, il suffit de
> substituer ou masquer les implémentations existantes. Alors pourquoi ce
> mécanisme supplémentaire ?
>
> "Simon Mourier [MS]" a écrit :
>
>> Q1:
>> pour changer l'implémentation?
>>
>> Q2:
>> ça n'a pas grand intêret, sauf éventuellement pour des outils où des
>> programmes qui seraient basés sur des mécanismes d'introspection
>> (=reflexion) et qui s'arrêteraient au niveau d'une classe sans scruter
>> les
>> classes de base
>>
>> Simon.
>> "ShadowFil" <ShadowFil@discussions.microsoft.com> a écrit dans le message
>> de
>> news: 3375CE79-23C3-4F42-8BCB-F156C95CF208@microsoft.com...
>> > Bonjour,
>> >
>> > Question 1 :
>> > Une classe qui hérite d'une implémentation d'interface peut
>> > réimplémenter
>> > l'interface en l'incluant dans sa liste de classes de base.
>> >
>> > Quel est l'intérêt de réimplémenter une interface ?
>> >
>> > Question 2 :
>> > Dans du code, on voit parfois une classe qui, dans sa déclaration,
>> > hérite
>> > d'une classe de base et d'une interface, et que cette interface est
>> > déjà
>> > implémentée par la classe de base. Mais pourtant, les méthodes de
>> > l'interface
>> > ne sont pas réimplémenté dans la classe dérivée. Quel est l'intérêt
>> > dans
>> > ce
>> > cas d'fériter à nouveau de l'interface ?
>> >
>> > Par exemple :
>> > interface IMyInterface
>> > { ... }
>> >
>> > public class MyClassBase : IMyInterface
>> > { ... }
>> >
>> > public class MyClassDerived : MyClassBase, IMyInterface
>> > { ... }
>> >
>> >
>> > Merci pour votre aide.
>>
>>
>>
override ne fonctionne que si la classe de base le permet. quand à new, il
marche avec tout type de fonction.
La palette est juste riche et permet une certaine souplesse en fonction de
ses besoins. L'avantage des interfaces en .NET, c'est qu'une classe peut
implémenter plusieurs interfaces, alors qu'elle ne peut dériver que d'une
seule classe (abstraite ou pas).
Simon.
"ShadowFil" a écrit dans le message de
news:
> Q1:
> D'accord mais, il existe déjà des mécanismes pour modifier une
> implémentation : new ou override. Si la classe de base implémente déjà un
> interface mais qu'on veut modifier cette implémentation, il suffit de
> substituer ou masquer les implémentations existantes. Alors pourquoi ce
> mécanisme supplémentaire ?
>
> "Simon Mourier [MS]" a écrit :
>
>> Q1:
>> pour changer l'implémentation?
>>
>> Q2:
>> ça n'a pas grand intêret, sauf éventuellement pour des outils où des
>> programmes qui seraient basés sur des mécanismes d'introspection
>> (=reflexion) et qui s'arrêteraient au niveau d'une classe sans scruter
>> les
>> classes de base
>>
>> Simon.
>> "ShadowFil" a écrit dans le message
>> de
>> news:
>> > Bonjour,
>> >
>> > Question 1 :
>> > Une classe qui hérite d'une implémentation d'interface peut
>> > réimplémenter
>> > l'interface en l'incluant dans sa liste de classes de base.
>> >
>> > Quel est l'intérêt de réimplémenter une interface ?
>> >
>> > Question 2 :
>> > Dans du code, on voit parfois une classe qui, dans sa déclaration,
>> > hérite
>> > d'une classe de base et d'une interface, et que cette interface est
>> > déjà
>> > implémentée par la classe de base. Mais pourtant, les méthodes de
>> > l'interface
>> > ne sont pas réimplémenté dans la classe dérivée. Quel est l'intérêt
>> > dans
>> > ce
>> > cas d'fériter à nouveau de l'interface ?
>> >
>> > Par exemple :
>> > interface IMyInterface
>> > { ... }
>> >
>> > public class MyClassBase : IMyInterface
>> > { ... }
>> >
>> > public class MyClassDerived : MyClassBase, IMyInterface
>> > { ... }
>> >
>> >
>> > Merci pour votre aide.
>>
>>
>>
Ok.
Donc, je pense que c'est plus propre d'hériter qu'une seule fois d'une
même
interface dans toute une lignée d'héritage. Car si on crée un diagramme de
classes UML avec plusieurs classes d'une même lignée d'héritage qui
pointent
vers la même interface, c'est assez moche. Mais surtout, on a l'impression
que ce n'est pas optimisé.
"Simon Mourier [MS]" a écrit :override ne fonctionne que si la classe de base le permet. quand à new,
il
marche avec tout type de fonction.
La palette est juste riche et permet une certaine souplesse en fonction
de
ses besoins. L'avantage des interfaces en .NET, c'est qu'une classe peut
implémenter plusieurs interfaces, alors qu'elle ne peut dériver que d'une
seule classe (abstraite ou pas).
Simon.
"ShadowFil" a écrit dans le message
de
news:
> Q1:
> D'accord mais, il existe déjà des mécanismes pour modifier une
> implémentation : new ou override. Si la classe de base implémente déjà
> un
> interface mais qu'on veut modifier cette implémentation, il suffit de
> substituer ou masquer les implémentations existantes. Alors pourquoi ce
> mécanisme supplémentaire ?
>
> "Simon Mourier [MS]" a écrit :
>
>> Q1:
>> pour changer l'implémentation?
>>
>> Q2:
>> ça n'a pas grand intêret, sauf éventuellement pour des outils où des
>> programmes qui seraient basés sur des mécanismes d'introspection
>> (=reflexion) et qui s'arrêteraient au niveau d'une classe sans scruter
>> les
>> classes de base
>>
>> Simon.
>> "ShadowFil" a écrit dans le
>> message
>> de
>> news:
>> > Bonjour,
>> >
>> > Question 1 :
>> > Une classe qui hérite d'une implémentation d'interface peut
>> > réimplémenter
>> > l'interface en l'incluant dans sa liste de classes de base.
>> >
>> > Quel est l'intérêt de réimplémenter une interface ?
>> >
>> > Question 2 :
>> > Dans du code, on voit parfois une classe qui, dans sa déclaration,
>> > hérite
>> > d'une classe de base et d'une interface, et que cette interface est
>> > déjà
>> > implémentée par la classe de base. Mais pourtant, les méthodes de
>> > l'interface
>> > ne sont pas réimplémenté dans la classe dérivée. Quel est l'intérêt
>> > dans
>> > ce
>> > cas d'fériter à nouveau de l'interface ?
>> >
>> > Par exemple :
>> > interface IMyInterface
>> > { ... }
>> >
>> > public class MyClassBase : IMyInterface
>> > { ... }
>> >
>> > public class MyClassDerived : MyClassBase, IMyInterface
>> > { ... }
>> >
>> >
>> > Merci pour votre aide.
>>
>>
>>
Ok.
Donc, je pense que c'est plus propre d'hériter qu'une seule fois d'une
même
interface dans toute une lignée d'héritage. Car si on crée un diagramme de
classes UML avec plusieurs classes d'une même lignée d'héritage qui
pointent
vers la même interface, c'est assez moche. Mais surtout, on a l'impression
que ce n'est pas optimisé.
"Simon Mourier [MS]" a écrit :
override ne fonctionne que si la classe de base le permet. quand à new,
il
marche avec tout type de fonction.
La palette est juste riche et permet une certaine souplesse en fonction
de
ses besoins. L'avantage des interfaces en .NET, c'est qu'une classe peut
implémenter plusieurs interfaces, alors qu'elle ne peut dériver que d'une
seule classe (abstraite ou pas).
Simon.
"ShadowFil" <ShadowFil@discussions.microsoft.com> a écrit dans le message
de
news: C2D073D8-68B8-464A-91AA-C9AC35C210E5@microsoft.com...
> Q1:
> D'accord mais, il existe déjà des mécanismes pour modifier une
> implémentation : new ou override. Si la classe de base implémente déjà
> un
> interface mais qu'on veut modifier cette implémentation, il suffit de
> substituer ou masquer les implémentations existantes. Alors pourquoi ce
> mécanisme supplémentaire ?
>
> "Simon Mourier [MS]" a écrit :
>
>> Q1:
>> pour changer l'implémentation?
>>
>> Q2:
>> ça n'a pas grand intêret, sauf éventuellement pour des outils où des
>> programmes qui seraient basés sur des mécanismes d'introspection
>> (=reflexion) et qui s'arrêteraient au niveau d'une classe sans scruter
>> les
>> classes de base
>>
>> Simon.
>> "ShadowFil" <ShadowFil@discussions.microsoft.com> a écrit dans le
>> message
>> de
>> news: 3375CE79-23C3-4F42-8BCB-F156C95CF208@microsoft.com...
>> > Bonjour,
>> >
>> > Question 1 :
>> > Une classe qui hérite d'une implémentation d'interface peut
>> > réimplémenter
>> > l'interface en l'incluant dans sa liste de classes de base.
>> >
>> > Quel est l'intérêt de réimplémenter une interface ?
>> >
>> > Question 2 :
>> > Dans du code, on voit parfois une classe qui, dans sa déclaration,
>> > hérite
>> > d'une classe de base et d'une interface, et que cette interface est
>> > déjà
>> > implémentée par la classe de base. Mais pourtant, les méthodes de
>> > l'interface
>> > ne sont pas réimplémenté dans la classe dérivée. Quel est l'intérêt
>> > dans
>> > ce
>> > cas d'fériter à nouveau de l'interface ?
>> >
>> > Par exemple :
>> > interface IMyInterface
>> > { ... }
>> >
>> > public class MyClassBase : IMyInterface
>> > { ... }
>> >
>> > public class MyClassDerived : MyClassBase, IMyInterface
>> > { ... }
>> >
>> >
>> > Merci pour votre aide.
>>
>>
>>
Ok.
Donc, je pense que c'est plus propre d'hériter qu'une seule fois d'une
même
interface dans toute une lignée d'héritage. Car si on crée un diagramme de
classes UML avec plusieurs classes d'une même lignée d'héritage qui
pointent
vers la même interface, c'est assez moche. Mais surtout, on a l'impression
que ce n'est pas optimisé.
"Simon Mourier [MS]" a écrit :override ne fonctionne que si la classe de base le permet. quand à new,
il
marche avec tout type de fonction.
La palette est juste riche et permet une certaine souplesse en fonction
de
ses besoins. L'avantage des interfaces en .NET, c'est qu'une classe peut
implémenter plusieurs interfaces, alors qu'elle ne peut dériver que d'une
seule classe (abstraite ou pas).
Simon.
"ShadowFil" a écrit dans le message
de
news:
> Q1:
> D'accord mais, il existe déjà des mécanismes pour modifier une
> implémentation : new ou override. Si la classe de base implémente déjà
> un
> interface mais qu'on veut modifier cette implémentation, il suffit de
> substituer ou masquer les implémentations existantes. Alors pourquoi ce
> mécanisme supplémentaire ?
>
> "Simon Mourier [MS]" a écrit :
>
>> Q1:
>> pour changer l'implémentation?
>>
>> Q2:
>> ça n'a pas grand intêret, sauf éventuellement pour des outils où des
>> programmes qui seraient basés sur des mécanismes d'introspection
>> (=reflexion) et qui s'arrêteraient au niveau d'une classe sans scruter
>> les
>> classes de base
>>
>> Simon.
>> "ShadowFil" a écrit dans le
>> message
>> de
>> news:
>> > Bonjour,
>> >
>> > Question 1 :
>> > Une classe qui hérite d'une implémentation d'interface peut
>> > réimplémenter
>> > l'interface en l'incluant dans sa liste de classes de base.
>> >
>> > Quel est l'intérêt de réimplémenter une interface ?
>> >
>> > Question 2 :
>> > Dans du code, on voit parfois une classe qui, dans sa déclaration,
>> > hérite
>> > d'une classe de base et d'une interface, et que cette interface est
>> > déjà
>> > implémentée par la classe de base. Mais pourtant, les méthodes de
>> > l'interface
>> > ne sont pas réimplémenté dans la classe dérivée. Quel est l'intérêt
>> > dans
>> > ce
>> > cas d'fériter à nouveau de l'interface ?
>> >
>> > Par exemple :
>> > interface IMyInterface
>> > { ... }
>> >
>> > public class MyClassBase : IMyInterface
>> > { ... }
>> >
>> > public class MyClassDerived : MyClassBase, IMyInterface
>> > { ... }
>> >
>> >
>> > Merci pour votre aide.
>>
>>
>>
Quel est l'intérêt de réimplémenter une interface ?
Quel est l'intérêt de réimplémenter une interface ?
Quel est l'intérêt de réimplémenter une interface ?
Oui, mais dans ce cas, si on a besoin de polymorphisme, on utilise
comme d'habitude, les méthodes virtuelles.
Oui, mais dans ce cas, si on a besoin de polymorphisme, on utilise
comme d'habitude, les méthodes virtuelles.
Oui, mais dans ce cas, si on a besoin de polymorphisme, on utilise
comme d'habitude, les méthodes virtuelles.
Oui, mais dans ce cas, si on a besoin de polymorphisme, on utilise comme
d'habitude, les méthodes virtuelles. La classe de base fournit la première
implémentation de l'interface, en utilisant le mot-clé "virtual" pour les
méthodes de l'interface. Ainsi, les clases dérivées pourront substituer
l'implémentation des méthodes de l'interface avec leur propre
implémentation.
On respecte ainsi le principe d'héritage, c'est-à dire qu'on hérite une
seule fois d 'une classe ou d'une interface. Comme dans la vie, on ne peut
hériter une chose qu'une seule fois.
Oui, mais dans ce cas, si on a besoin de polymorphisme, on utilise comme
d'habitude, les méthodes virtuelles. La classe de base fournit la première
implémentation de l'interface, en utilisant le mot-clé "virtual" pour les
méthodes de l'interface. Ainsi, les clases dérivées pourront substituer
l'implémentation des méthodes de l'interface avec leur propre
implémentation.
On respecte ainsi le principe d'héritage, c'est-à dire qu'on hérite une
seule fois d 'une classe ou d'une interface. Comme dans la vie, on ne peut
hériter une chose qu'une seule fois.
Oui, mais dans ce cas, si on a besoin de polymorphisme, on utilise comme
d'habitude, les méthodes virtuelles. La classe de base fournit la première
implémentation de l'interface, en utilisant le mot-clé "virtual" pour les
méthodes de l'interface. Ainsi, les clases dérivées pourront substituer
l'implémentation des méthodes de l'interface avec leur propre
implémentation.
On respecte ainsi le principe d'héritage, c'est-à dire qu'on hérite une
seule fois d 'une classe ou d'une interface. Comme dans la vie, on ne peut
hériter une chose qu'une seule fois.