2012-05-23 6 views
1

내가 궁금한 점은 interface이 다른 클래스에서 상속받을 수 있습니까?인터페이스를 자손으로 사용할 수 있습니까?

인터페이스가 MarshalByRefObject에서 상속되도록하려고합니다.

내 의도는 인터페이스를 구현하는 모든 클래스도 해당 클래스를 상속한다는 것입니다.

답변

7

아니요. 불가능합니다.
인터페이스는 구현해야하는 다른 인터페이스 만 지정할 수 있습니다. 이 작업은 상속과 동일한 구문을 사용하여 수행되지만 다른 점이 있습니다.

MarshalByRefObject에서 상속되는 추상 클래스를 사용할 수 있으며 인터페이스를 구현해야합니다.

요구 사항을 적용하는 방법에 따라 제네릭 제약 조건도 도움이 될 수 있습니다. 제네릭 형식 매개 변수의 경우 class Argh<T> where T : MarshalByRefObject, ISomeInterface과 같은 클래스 제약 조건을 설정할 수 있습니다.

2

아니요. 그러나 인터페이스는 다른 인터페이스에서 상속 할 수 있습니다.

3

인터페이스는 클래스를 상속 할 수 없습니다. 그렇게하기 위해 C#은 현재 지원되지 않는 구현의 다중 상속을 지원해야합니다.

IMyInterface이라는 인터페이스를 MyClass에서 파생시킬 수 있다고 상상해보십시오. 그런 다음,이 인터페이스를 구현하는 클래스를 선언하는 올 때, 당신은 같은 것을 작성해야 :

public class MyImplementingClass: MyBaseClass, IMyInterface 

을하지만 MyBaseClassMyClass 모두에서 상속되기 때문에 그 구현의 다중 상속을 의미한다.

2

아니요, 인터페이스에는 구현이 없으므로 클래스에서 상속 할 수 없습니다. 그러나 추상 클래스MarshalByRefObject에서 상속받을 수 있습니다.

2

아니요 클래스는 인터페이스를 구현할 수 있습니다. 다른 방법은 없습니다.

  1. 클래스는 클래스를 상속하고 인터페이스를 구현할 수 있습니다.
  2. 인터페이스는 인터페이스 만 구현할 수 있지만 클래스를 상속하거나 구현할 수는 없습니다.
관련 문제