필자가 작성한 코드가 적합한 지 여부는 확실하지 않습니다. 여기에 일반적인 아이디어가 있습니다 :C# : 추상 클래스의 추상 및 비 추상적 메서드?
다른 종류의 문서를 사용하는 파서 클래스가 있습니다. 유형에 따라 문서를 다르게 파싱합니다.
A와 B 두 가지 유형의 문서가 있다고 가정합니다. 팩터 리 패턴은 추가 유형을 처리하기 위해 프로그램을 확장해야하는 경우에 대비하여이 작업을 수행하는 것과 같이 꽤 좋은 방법 인 것 같습니다. 따라서 추상을 갖습니다 수업.
abstract class Parser
{
...
public void common_method() {
// something common that all parsers will use
// like file IO
}
// derived classes will override this
public abstract void specific_method();
}
class A_Parser : Parser
{
...
}
class B_Parser : Parser
{
...
}
내가 대해 궁금하네요 문제는 내 추상적 파서 추상적 인 방법과 비 추상 메소드를 선언 한 사실이다. 컴파일러는 불평하지 않는 것 같고, 여전히 올바르게 작동하는 것 같습니다.
비표준입니까? 어쩌면 이것을 설계하는 더 좋은 방법이 있을까요?