2011-10-12 4 views

답변

6

에서

고맙습니다 당신은 인터페이스의 속성에 기본 값을 설정할 수 없습니다. (단 기본값을 설정하고 다른 작업을 구현하지 않습니다) 인터페이스에 추가

사용 추상 클래스 :

public interface IA { 
     int Prop { get; } 

     void F(); 
    } 

    public abstract class ABase : IA { 
     public virtual int Prop 
     { 
      get { return 0; } 
     } 

     public abstract void F(); 
    } 

    public class A : ABase 
    { 
     public override void F() { } 
    } 
+1

Petar, 인터페이스 클래스 이외에 abstract 클래스를 사용합니까? 인터페이스를 추상 클래스로 변경해야합니까? – smhnkmr

+1

아니요. 인터페이스를 구현하는 추상 클래스를 사용한 다음 확장해야한다는 의미는 아닙니다. –

1

인터페이스에는 구현을 포함하지 않습니다. 그들이하는 것은 국가 회원 서명뿐입니다.

인터페이스의 구현에는 임의의 속성에 대해 원하는 기본값을 자유롭게 사용할 수 있습니다.

예. abstract 클래스는 속성의 기본값을 반환 할 수 있습니다.

관련 문제