파생 클래스가 구현할 기본 클래스의 속성 수를 선택할 수 있습니까?

PreqlSusSpermaOhranitel

3 개의 속성이있는 클래스가 하나 있습니다. 이 클래스가 인터페이스에서 파생되기를 원하고 인터페이스가 상속 될 때마다 일부 속성을 사용하지 않고 그대로두고 IntelliSense에 표시되지 않기를 원합니다. 인터페이스에서 파생 된 모든 클래스는 구현 된 속성의 양이 다를 수 있습니다. 또한 기본 클래스에서 직접 상속하고 3 가지 속성을 모두 구현하는 일반 클래스도 있습니다.

이것을 할 수 있습니까?

여기에 내가 상상하는 방법에 대한 삽화가 있습니다. 더 명확 해지기를 바랍니다.

여기에 이미지 설명 입력

khlr

그게 당신이 찾고있는 것입니까?

public class BaseClass : ISomeInterface, ISomeOther
{
    public int Prop1 { get; set; }
    public int Prop2 { get; set; }
    public int Prop3 { get; set; }
}

public class Derived : BaseClass
{
    // inherits all 3 props
}

public interface ISomeInterface
{
    int Prop1 { get; }
    int Prop2 { get; }
}

public interface ISomeOther
{
    int Prop3 { get; }
}

public static class Program
{
    public static void Main()
    {
        BaseClass instance1 = new BaseClass();      // IntelliSense shows all 3 props
        Derived instance2 = new Derived();          // IntelliSense shows all 3 props
        ISomeInterface instance3 = new BaseClass(); // IntelliSense shows 2 props from interface
        ISomeOther instance4 = new BaseClass();     // IntelliSense shows only Prop3
    }
}

특정 인터페이스의 기능을 분해하여 사용중인 인터페이스에 따라 특정 기능 하위 집합을 제공 할 수 있습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

C ++ : 새 기본 클래스이지만 파생 클래스의 속성에 액세스 할 수 있습니다.

분류에서Dev

c # 기본 클래스와 파생 클래스가 Interface 메서드를 별도로 구현할 수있는 방법이 있습니까?

분류에서Dev

기본 클래스에서 파생 클래스 함수를 어떻게 친구 할 수 있습니까?

분류에서Dev

파생 클래스에서 전용 멤버에 액세스 할 수 없습니다 (생성자가 기본 클래스에 정의되어 있어도)

분류에서Dev

C ++ 다형성 : 이중 파생 클래스의 함수를 기본 클래스로 사용할 수 있습니까?

분류에서Dev

파생 클래스의 기본 생성자에서 기본 생성자로 인수를 전달할 수 있습니까?

분류에서Dev

C # : 파생 클래스가 기본 클래스의 인터페이스 메서드 구현을 재정의 할 수없는 이유는 무엇입니까?

분류에서Dev

기본 클래스 개체에 대한 파생 클래스 포인터는 파생 클래스의 메서드를 어떻게 호출 할 수 있습니까?

분류에서Dev

기본 클래스 개체에 대한 파생 클래스 포인터는 파생 클래스의 메서드를 어떻게 호출 할 수 있습니까?

분류에서Dev

파생 클래스를 테스트 할 때 기본 메서드를 어떻게 모의 할 수 있습니까?

분류에서Dev

파생 클래스의 속성이 기본 클래스 형태 인 경우 얻을 수 있습니까?

분류에서Dev

파생 클래스의 템플릿 인수를 CRTP의 기본으로 전달할 수 있습니까?

분류에서Dev

기본 클래스와 파생 클래스간에 분할 된 함수 오버로드의 가시성

분류에서Dev

기본 클래스 목록에 파생 클래스를 추가 한 다음 C #의 기본 클래스 목록에서 Derived 클래스의 메서드를 호출 할 수 있습니까?

분류에서Dev

기본 클래스가이를 구현하는 객체의 속성을 알 수 있습니까?

분류에서Dev

파생 클래스가 기본 클래스 생성자를 두 번 호출 할 수있는 이유는 무엇입니까?

분류에서Dev

생성자가 C ++에서 인스턴스화 할 적절한 하위 클래스를 선택하는 추상 클래스를 작성할 수 있습니까?

분류에서Dev

using을 사용하여 기본 클래스의 공용 멤버를 파생 클래스의 전용으로 다시 선언 할 수 있습니까?

분류에서Dev

C ++ 친구 클래스가 기본 클래스의 모든 멤버에 액세스 할 수 있습니까?

분류에서Dev

기본 클래스의 인스턴스를 사용하여 파생 데이터 클래스를 초기화 할 수 있습니까?

분류에서Dev

하위의 활성 클래스를 기반으로 요소의 상위를 선택할 수 있습니까?

분류에서Dev

파생 클래스 개체를 기본 클래스 유형 목록에 추가 할 수 없습니다.

분류에서Dev

암시 적 클래스가 기본 구현을 재정의 할 수있는 방법이 있습니까?

분류에서Dev

동일한 기본 클래스를 상속하는 두 클래스가 서로의 함수를 사용할 수 있습니까?

분류에서Dev

C ++의 파생 클래스에서 기본 클래스 메서드를 오버로드 할 수 없습니다.

분류에서Dev

파생 클래스는 기본 클래스의 개인 멤버를 다른 기본 클래스의 개인 멤버로 오버로드 할 수 없습니다.

분류에서Dev

다른 클래스에 선택기를 추가 할 수 있습니까?

분류에서Dev

C ++는 컴파일러에 의해 (가상) 개인 기본 클래스를 제거 할 수 있습니까?

분류에서Dev

HTML 생성기 클래스가 얼마나 유용 할 수 있습니까?

Related 관련 기사

  1. 1

    C ++ : 새 기본 클래스이지만 파생 클래스의 속성에 액세스 할 수 있습니다.

  2. 2

    c # 기본 클래스와 파생 클래스가 Interface 메서드를 별도로 구현할 수있는 방법이 있습니까?

  3. 3

    기본 클래스에서 파생 클래스 함수를 어떻게 친구 할 수 있습니까?

  4. 4

    파생 클래스에서 전용 멤버에 액세스 할 수 없습니다 (생성자가 기본 클래스에 정의되어 있어도)

  5. 5

    C ++ 다형성 : 이중 파생 클래스의 함수를 기본 클래스로 사용할 수 있습니까?

  6. 6

    파생 클래스의 기본 생성자에서 기본 생성자로 인수를 전달할 수 있습니까?

  7. 7

    C # : 파생 클래스가 기본 클래스의 인터페이스 메서드 구현을 재정의 할 수없는 이유는 무엇입니까?

  8. 8

    기본 클래스 개체에 대한 파생 클래스 포인터는 파생 클래스의 메서드를 어떻게 호출 할 수 있습니까?

  9. 9

    기본 클래스 개체에 대한 파생 클래스 포인터는 파생 클래스의 메서드를 어떻게 호출 할 수 있습니까?

  10. 10

    파생 클래스를 테스트 할 때 기본 메서드를 어떻게 모의 할 수 있습니까?

  11. 11

    파생 클래스의 속성이 기본 클래스 형태 인 경우 얻을 수 있습니까?

  12. 12

    파생 클래스의 템플릿 인수를 CRTP의 기본으로 전달할 수 있습니까?

  13. 13

    기본 클래스와 파생 클래스간에 분할 된 함수 오버로드의 가시성

  14. 14

    기본 클래스 목록에 파생 클래스를 추가 한 다음 C #의 기본 클래스 목록에서 Derived 클래스의 메서드를 호출 할 수 있습니까?

  15. 15

    기본 클래스가이를 구현하는 객체의 속성을 알 수 있습니까?

  16. 16

    파생 클래스가 기본 클래스 생성자를 두 번 호출 할 수있는 이유는 무엇입니까?

  17. 17

    생성자가 C ++에서 인스턴스화 할 적절한 하위 클래스를 선택하는 추상 클래스를 작성할 수 있습니까?

  18. 18

    using을 사용하여 기본 클래스의 공용 멤버를 파생 클래스의 전용으로 다시 선언 할 수 있습니까?

  19. 19

    C ++ 친구 클래스가 기본 클래스의 모든 멤버에 액세스 할 수 있습니까?

  20. 20

    기본 클래스의 인스턴스를 사용하여 파생 데이터 클래스를 초기화 할 수 있습니까?

  21. 21

    하위의 활성 클래스를 기반으로 요소의 상위를 선택할 수 있습니까?

  22. 22

    파생 클래스 개체를 기본 클래스 유형 목록에 추가 할 수 없습니다.

  23. 23

    암시 적 클래스가 기본 구현을 재정의 할 수있는 방법이 있습니까?

  24. 24

    동일한 기본 클래스를 상속하는 두 클래스가 서로의 함수를 사용할 수 있습니까?

  25. 25

    C ++의 파생 클래스에서 기본 클래스 메서드를 오버로드 할 수 없습니다.

  26. 26

    파생 클래스는 기본 클래스의 개인 멤버를 다른 기본 클래스의 개인 멤버로 오버로드 할 수 없습니다.

  27. 27

    다른 클래스에 선택기를 추가 할 수 있습니까?

  28. 28

    C ++는 컴파일러에 의해 (가상) 개인 기본 클래스를 제거 할 수 있습니까?

  29. 29

    HTML 생성기 클래스가 얼마나 유용 할 수 있습니까?

뜨겁다태그

보관