를 정의하는 추상 클래스가 get있지만.이 아닌 set추상 클래스에 관한 한 get.
public abstract BaseClass
{
public abstract double MyPop
{get;}
}
그러나 일부 파생 클래스에서는 set속성이 필요하므로이 구현을 살펴보고 있습니다.
public class DClass: BaseClass
{
public override double MyPop
{get;set;}
}
문제는 컴파일 오류가 발생하여
* .set : *. 재정의 할 수있는 set 접근자가 없습니다.
위의 구문이 완벽하게 합법적이라고 생각하지만.
이것에 대한 아이디어가 있습니까? 해결 방법 또는 그 이유는 무엇입니까?
편집 : 내가 생각할 수있는 유일한 접근 방식 은 추상 클래스에서 get와 set같이 둘 다 넣고 하위 클래스가 NotImplementedExceptionif set가 호출되고 필요하지 않게하는 것입니다. 그것은 특별한 setter 메서드 와 함께 내가 좋아하지 않는 것 입니다.
double각 클래스에서 특별히 구현 될 값 을 읽기 위해 메서드를 노출하는 클래스 집합을 빌드해야합니다 . 때로는이 값을 설정해야하므로 이러한 클래스 중 일부는이를 설정하는 방법을 노출해야합니다. 이게 옳은 거니? 얼마나 많은 상속 수준을 사용해야합니까?