Interface : propriété et surcharge ...

Résolu
Messages postés
514
Date d'inscription
mercredi 19 mars 2003
Statut
Membre
Dernière intervention
1 mars 2009
-
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
-
Bonjour à tous ...
Alors voilà ... Une petite question tout bête que je viens de me poser : est-ce qu'il est possible de définir dans une interface d'une manière ou d'une autre des propriétés et des opérateurs ? Parce que j'ai essayé avec les propriétés et ça ne marche pas du tout :) et donc je me suis aussi posé la question pour les opérateurs ... Bah ... Et ça ne marche pas non plus ;)
Voilà ! Donc si quelqu'un de plus astucieux/intelligent que moi peut m'aider ... Je le remercie d'avance !
++ !
Localstone  

4 réponses

Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
41
Salut, oui une interface peut contenir des propriétés, mais comme pour une fonction, uniquement la définition et pas le corps. Après tout, une propriété c'est une fonction get_ et/ou une fonction set_.


Pas d'opérateur dans une interface, les opérateurs sont des fonctions statiques.

public interface IEngine
{
    string Name { get; set; }
}
Messages postés
475
Date d'inscription
jeudi 19 juin 2003
Statut
Membre
Dernière intervention
3 novembre 2008
1
Si on pouvait définir des propriétés et des opérateurs, ca deviendrait pas une classe?
Je ne sais pas trop, je pense pas que c'est possible.


Par contre, il doit y avoir un moyen pour contourner cette "limitation". Cela dépend de ce que tu veux faire. (du cas par cas :)

[:D] @++
Messages postés
514
Date d'inscription
mercredi 19 mars 2003
Statut
Membre
Dernière intervention
1 mars 2009

Merci beaucoup pour vos deux réponses. Pour les propriétés, je suis satisfait ... Mais pas pour les opérateurs :) !
Imagions que l'on définisse une interface IAdditionable. Et bien il serait interessant de définir dans cette classe la surcharge de l'opérateur +. Ainsi, si l'on fait un algorithme qui utilise des nombre et que l'on bosse avec des entiers, des réels ou avec des complexes, il n'y aurait rien à changer (je sais pas si c'est très clair) ...
Voilà !
++ !
L.S.
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
41
Utilises une classe abstraite pour ça.