각 클래스가 추상 기본 클래스에서 파생되는 간단한 클래스 계층 구조가 제공됩니다. 모든 파생 클래스는 기본 클래스가 특정 기본 메서드에서 사용할 열거 형 "값"을 어떻게 든 제공해야합니다.
예 :파생 클래스에서 속성을 구현하는 가장 좋은 방법은 무엇입니까?
기본 클래스 :
public abstract class AbstractFoo
{
bool SaveFoo()
{
switch (BarType){...}
}
}
및 파생 클래스
public class BananaFoo:AbstractFoo
{
//barttype = fruit;
}
public class WhaleFoo:AbstractFoo
{
//barttype = mammal;
}
가 여러 가지 방법으로 내가 AbstractFoo에서 파생 된 모든 클래스 속성 "열거 BarType"
를 구현하는 것이 확인 할 수 있습니다public abstract BarType BarType{get;}
각 파생 클래스에서 BarType을 구현하여 올바른 유형을 반환하거나 매우 유사한 일을하는 추상적 인 방법.
public BarType BarType{get{return _bartype;}}
또는 필드 반환하는 구체적인 방법 추가 - 다음 나는 필드를 추가하는 것을 기억해야합니다,하지만 그건 훨씬 덜 입력 (C & P)?
이렇게하는 것이 바람직한 방법은 무엇입니까?
이 내가 늘 해오 던 방식입니다 ...하지만 갑자기 "순간을했다 "너 자신을 의심 할 때! lol – BlueChippy
나는 그 감각을 안다 : 나는이 대답을 게시하는 동안 그것을 가지고 있었다;) – baldric