하위 클래스 안에 있고 수퍼 클래스의 이름을 찾으려고 할 때 super.getClass()를 시도했지만 그 이름을 반환했습니다. 서브 클래스 만. 왜?하위 클래스의 super.getClass()가 하위 클래스 이름을 반환하는 이유
답변
getClass().getSuperclass()
해야합니다.
http://stackoverflow.com/questions/3294656/how-to-get-the-parent-base-class-object-super-getclass 나쁜 디자인을 제안한이 스레드는 무엇을 추천할까요? 그것을 피하십시오 –
그것은 시나리오에 따라 다릅니다. 가능하다면 당신이 사용하고자하는 것이 무엇인지 모르겠다. – Bozho
가능한 한 내 의견을 피하는 것이 좋습니다. –
수퍼 클래스 (또는 수퍼 클래스의 수퍼 클래스 등)에서 메서드를 재정의하는 경우 super.theMethod()
은 오버로드 된 메서드 대신 원래 메서드를 호출합니다. 실제 오버라이드가 theMethod
이 아닌 경우 super.theMethod()
은 theMethod()
과 똑같이 작동합니다. 이 경우
Object
클래스의
getClass
방법이라고 어느 쪽이든, 그래서
super.getClass()
행위 정확히
getClass()
같은, (사실 나는 그것이 마지막이기 때문에, 당신은하지 않았다 알고있다) 당신이
getClass()
오버라이드 (override)하지 않은 가정합니다.
예, 동의합니다.하지만 그런 디자인이 수퍼 클래스 메서드를 호출하지 않는 이유는 무엇입니까? –
@AbhishekChoudhary 맞습니다. 'getClass'를 호출하면,'Object'에 정의 된'getClass' 메소드를 호출하게됩니다. 'Object'는 직접 슈퍼 클래스가 아니더라도 클래스의 수퍼 클래스이므로 슈퍼 클래스의 메소드 버전을 호출합니다. 실제로 수퍼 클래스의 버전이 해당 메소드의 유일한 버전입니다. – sepp2k
당신이 파생 클래스의 객체와 슈퍼되지 클래스를 생성하기 때문이다 ..이
this.getClass().getSuperClass();
'this.'는 불필요합니다. –
- 1. getClass가 + $ 1 (또는 $ *) 클래스의 이름을 반환하는 이유
- 2. compositeid가있는 클래스의 하위 클래스
- 3. Instance_eval : 하위 클래스의 클래스가 수퍼 클래스 인 이유
- 4. 부모 클래스의 하위 클래스 인스턴스
- 5. PHP : 하위 클래스의 클래스 이름을 검색 할 수 있습니까?
- 6. Java - 하위 클래스의 클래스 이름을 가리키는 정적 필드가있는 인터페이스?
- 7. 하위 클래스 QCompleter, 하위 클래스의 가상 슬롯이 호출되지 않음
- 8. 기본 클래스의 하위 템플릿 인수에 대한 액세스 (하위 클래스 템플릿)
- 9. 하위 클래스의 데이터 반환
- 10. 하위 클래스의 하위 클래스에 discriminator를 사용합니다.
- 11. UButton 하위 클래스의 presentModalViewController
- 12. 하위 클래스의 ivar 클래스 변경 (파생 클래스에)
- 13. 하위 클래스의 상속 된 클래스 특성 재정의
- 14. 슈퍼 클래스의 C++ 참조 하위 클래스
- 15. 클래스 또는 하위 클래스의 호출 릴리스?
- 16. 하위 클래스의 주 클래스 변수 값에 액세스
- 17. 하위 클래스의 nhibernate 참조 상위 클래스
- 18. 서브 클래스의 하위 클래스 - NSView 또는 NSButton
- 19. 상위 클래스의 하위 클래스 변수 읽기
- 20. C++ 기본 클래스의 배열에 하위 클래스 추가?
- 21. 익명 클래스의 하위 클래스 메서드 호출
- 22. 하위 클래스의 공급자로부터 슈퍼 클래스 공급자 구성
- 23. 하위 클래스의 수퍼 클래스 속성 설정
- 24. C#에서 재정의 된 하위 클래스의 하위 유형에서 하위 유형을 반환하는 방법은 무엇입니까?
- 25. 하위 클래스의 루비에서 Fixnum
- 26. 하위 클래스의 카테고리 선언
- 27. 하위 클래스의 생성자 순서
- 28. 부모 클래스에서 하위 클래스 이름을 얻는 방법
- 29. 하위 클래스 이름 가져 오기?
- 30. NSOperation 하위 클래스의 performSelector
어쩌면 몇 가지 코드 및 샘플 출력을 추가하려고 할 수 있습니다? – smessing
가능한 [부모 기본 클래스 개체를 얻는 방법 super.getClass()] (http://stackoverflow.com/questions/3294656/how-to-get-the-parent-base-class-object-super- getclass) – assylias