2010-11-26 3 views
5

essayé de faire quelque chose comme ceci:Une classe peut-elle implémenter deux interfaces en même temps? Je

class Student: IPersonalDetails: IOtherDetails 
{ 
     //Code 
} 

Il donne l'erreur. Pourquoi je ne peux pas implémenter deux interfaces?

+2

séparer les noms d'interface avec une virgule (,) – Ozan

+9

Je me sens toujours mal quand des questions insignifiantes comme celle-ci obtiennent des upvotes et que les questions légitimes en science informatique ne reçoivent pas les upvotes qu'elles méritent. ... :( –

+1

@Srinivas: S'il vous plaît déclasser – RKh

Répondre

19

Utilisez une virgule entre les types d'interface, par ex.

class Student: IPersonalDetails, IOtherDetails 
{ 
     //Code 
} 
9

Modifier à

class Student: IPersonalDetails, IOtherDetails 
{ 
    //Code 
} 
5

Oui il peut, avoir un regard profond sur la syntaxe.

+0

pour celui qui a déprimé. à mon sens, pointer vers la bonne direction est la plupart du temps plus utile que la bonne réponse elle-même. Parce que l'utilisation de son propre cerveau est plus excercise que l'utilisation du cerveau de l'autre. – OlimilOops

1

Oui! Vous pouvez certainement. Vous pouvez même implémenter plus de 2. Je ne suis pas sûr s'il y a une limite sur le nombre d'interfaces que vous pouvez implémenter à la fois.

0

Oui, une classe peut définitivement implémenter plus d'une interface. Après tout, c'est le point entier des interfaces.

Jetez un coup d'œil au message d'erreur que vous obtenez. Il est pas vous indiquant qu'une classe ne peut pas implémenter plus d'une interface. Il vous dit que vous avez une erreur de syntaxe.

-1

Oui, ou comme celui qui d'objectifs de cours objectif de conception tout à fait différente et vous pourriez dire que, en fait, il est encore une seule interface en raison de la nature polymorphique de l'héritage, mais encore:

public interface IEntity 
{ 
    void DoTask(); 
} 

public interface IExtendedTaskEntity : IEntity 
{ 
    void DoExtendedTask(); 
} 

public class ConcreteEntity : IExtendedTaskEntity 
{ 

    #region IExtendedTaskEntity Members 

    public void DoExtendedTask() 
    { 
     throw new NotImplementedException(); 
    } 

    #endregion 

    #region IEntity Members 

    public void DoTask() 
    { 
     throw new NotImplementedException(); 
    } 

    #endregion 
} 
Questions connexes