C#의 새로운 기능 - 하위 클래스를 만들어 기본 클래스의 변형을 수행하도록 지시 받았습니다. 전에 하위 클래스를 작성한 적이 없으므로 조금 읽은 다음 시도해 보았습니다. 하위 클래스에서 기본 클래스를 상속 한 후에 만 MyClass의 개인 속성에 액세스 할 수있었습니다. 내가 여기서 뭘 했니? 이것은 진정한 하위 클래스 또는 중첩 된 상속 클래스일까요?C# 하위 클래스 또는 인터페이스?
public class MyClass
{
private string connString;
// exec stored procedure 1
public class MySubClass : MyClass
{
otherClass o = new otherClass(connString);
// exec stored procedure 2
}
}
내가 한 것은 무엇이든 작동하는 것 같습니다. 또한 하위 클래스의 주제에 대해 이름을 지정하는 일반적인 방법이 있습니까? 예 : MyClass_SubClass 또는 _MyClass 등?
감사합니다.
편집 : 다시 한 번 감사드립니다. 나는이 대답을 찾고 있다고 생각한다. here. 그럼에도 불구하고 나는 중첩이나 상속을 전혀 할 필요가 없다는 것을 깨닫게되었습니다. 별도의 유사한 클래스를 만들었습니다.
나는 당신의 질문을 정말로 이해하지 못한다. 그러나 당신이 * outer * 클래스의 private 필드에 접근 할 수있는 이유는 당신이 액세스를하고있는 내부 클래스를 둘러싸고 있기 때문이다. 서브 클래 싱과 관련이 없습니다. –
기본 클래스에서 상속 할 때만 개인 필드에 액세스 할 수있었습니다. 혼란 스러웠습니다. 'protected'로 변경하면 중첩 된 클래스를베이스 외부로 옮기고 여전히 필드에 액세스 할 수 있습니다. – Shwarz