1

그냥C#을 중첩 된 클래스와 상속

namespace blah 
{ 
    private abstract class InheritedSomething 
    { 
     public void doSomething() {}; 
    } 

    class OtherClass : InheritedSomething 
    { 
     //Stuff 

     class NestedClass : InheritedSomething 
     { 
      //Stuff 
     } 
    } 
} 

이 일을 올바른 방법인가 .. 중첩 된 클래스와 상속 도움이 필요? 그것은 NestedClassInerhitedSomething 부모 클래스가 이미 이것을 상속 받았을 때 조금 중복되는 것 같습니다 ... 그러나 NestedClass에서 상속을 제거하면 doSomething() 정적 메소드를 만들도록 요청합니다.

그래서 내 질문은 "올바른"인 방법이다 - 모두 OtherClassNestedClassInheritedSomething 또는 유일한 OtherClassInheritedSomething을 상속 doSomething()public static void된다 상속?

감사합니다.

+0

두 클래스 모두에서 동일한 구현이 있어야합니까? 아니면 다른 클래스에서 NestedClass와 다를 수 있습니까? –

답변

0

이 디자인에는 아무 문제가 없습니다.

메서드를 정적으로 만들 수 있다는 제안은 완전히 별개의 문제입니다. 참고로, 일 수 있습니다. 이어야합니다.이어야합니다. (here 또는 here 결정에 대해 자세히 알아보십시오.) 상속을 제거하면 doSomething이 더 이상 무시되지 않으므로이 제안을 확인할 수 있습니다.

0

당신이하고자하는 일에 따라 정확하거나 다를 수 있습니다.

내부 유형은 내부 멤버 유형에 대한 액세스 권한을 갖지만이를 파생시키지 않습니다.

이 수업의 목적은 무엇입니까?