2010-11-26 16 views
5

He intentado hacer algo como esto:¿Puede una clase implementar dos interfaces al mismo tiempo?

class Student: IPersonalDetails: IOtherDetails 
{ 
     //Code 
} 

Da error. ¿Por qué no puedo implementar dos interfaces?

+2

separar los nombres de interfaz con una coma (,) – Ozan

+9

Siempre me siento mal cuando preguntas triviales como esta reciben votos y las preguntas legítimas de ciencias de la computación no reciben votos que se merecen. ... :( –

+1

@Srinivas: descárguelo por favor. – RKh

Respuesta

19

Usa una coma entre los tipos de interfaz, p.

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

cambiarlo a

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

Sí se puede, tiene una mirada profunda a su sintaxis.

+0

para el que votó negativamente. IHHO, señalar la dirección correcta es la mayoría de las veces más útil que la respuesta correcta en sí misma. Porque usar su propio cerebro es más ejercicio que usar el cerebro del otro. – OlimilOops

1

Sí! Definitivamente puedes. Incluso puede implementar más de 2. No estoy seguro de si existe un límite en la cantidad de interfaces que puede implementar a la vez.

0

Sí, una clase puede definitivamente implementar más de una interfaz. Después de todo, ese es el punto entero de interfaces.

Eche un vistazo al mensaje de error que está recibiendo. Es no indicándole que una clase no puede implementar más de una interfaz. Te está diciendo que tienes un error de sintaxis.

-1

Sí, o como éste, que de los objetivos del curso completamente diferente objetivo de diseño y se podría decir que, de hecho, sigue siendo sólo una interfaz debido a la naturaleza polimórfica de la herencia, pero aún así:

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 
} 
Cuestiones relacionadas