ClassB
이 ClassA
의 하위 클래스 인 경우 ClassB's
ivars 중 하나가 ClassA
의 인스턴스 인 경우 괜찮습니까? 죄송합니다, 이것이 바보 같은 질문이라면. 난 그냥 어떻게 ClassB
ClassA
에서 상속을 혼동 찾을 수 있지만 그것의 인스턴스를 소유 수 있습니다.클래스의 ivar이 수퍼 클래스의 인스턴스가 될 수 있습니까?
답변
네, 좋습니다. 기본적으로 모든 종류의 ivars를 가질 수 있습니다.
일부 언어에서는 A의 * 하위 클래스 *를 A. Objective-C에 대한 A. Dunno의 구성원으로 만들려고하면 약간의 어려움을 겪을 수 있습니다. –
@HotLicks 예,하지만 우리는 Obj-C 만 다른 언어에 대해서는 말하지 않습니다. 완벽하게 유효해야하는'@class SomeSubclass'를 사용하여 서브 클래스를 forward-declare한다면 (여전히 좋은 습관은 아니다). –
그래, 오리 유형이고 클래스 상속 맵을 유지하려고하지 않기 때문에 Obj-C에서 작동 할 것으로 기대합니다. 한번도 시도하지 않았습니다. (공식적으로 작동하지 않더라도 수퍼 클래스 포인터로 가짜로 만들 수 있습니다 - 이것은 거의 모든 언어에서 마찬가지입니다.) –
괜찮습니다. 클래스에는 자체 유형의 ivar도있을 수 있습니다.
당신이 클래스 왜건을 가지고 있고 기차를 모델링한다고 가정 해 봅시다. 너의 수레 종류에는 아마 수레 유형 2의 ivars가있을 것입니다. 하나는 기차의 다음 왜건을 가리키고 다른 하나는 이전 왜건을 가리 킵니다.
그런 다음 수레의 PassengerWagon 하위 클래스를 구현할 수 있으며 수퍼 클래스의 Wagon ivars를 상속받습니다. 명백한 점은 PassengerWagon 인스턴스의 이웃을 추적하려는 경우 수퍼 클래스가 아닌 PassengerWagon에서 ivars 만 정의 할 수 있지만 이웃은 Wagon 유형이 될 수 있습니다.
- 1. PHP : 사용중인 클래스의 인스턴스가 있습니까?
- 2. 수퍼 클래스의 비공개 필드를 수정할 수 있습니까?
- 3. flex/as3에서 수퍼 클래스의 수퍼 클래스에 액세스 할 수 있습니까?
- 4. 수퍼 클래스의 @PostLoad
- 5. 수퍼 클래스의 함수 오버로드
- 6. 템플릿 클래스의 인스턴스가 잘못
- 7. arraylist에 수퍼 클래스의 객체?
- 8. 수퍼 클래스의 속성 수정
- 9. 객체를 인스턴스화 할 때 수퍼 클래스의 인스턴스가 생성됩니까?
- 10. 수퍼 클래스의 수퍼 클래스 메소드를 호출합니까?
- 11. Object는 추상 클래스의 수퍼 클래스입니까?
- 12. 다른 클래스의 메소드가 인라인 될 수 있습니까?
- 13. 모든 이벤트 클래스의 수퍼 클래스
- 14. 두 조각에 같은 클래스의 인스턴스가 있는지 어떻게 알 수 있습니까?
- 15. 수퍼 클래스의 생성자를 Mockito/Powermock으로 조롱 할 수 있습니까?
- 16. 수퍼 클래스의 텍스트 요소에 어떻게 접근 할 수 있습니까?
- 17. 수퍼 클래스의 개인 메서드를 하위 클래스에서 재정의 할 수 있습니까?
- 18. C# - 클래스의 인스턴스가 있으면 클래스의 정적 멤버에 어떻게 액세스하나요?
- 19. ObjC에서 하위 클래스의 구현에서 수퍼 클래스의 메서드를 숨기려면 어떻게해야합니까?
- 20. 추상 수퍼 클래스의 Hibernate (JPA) 상속 매핑
- 21. 수퍼 클래스의 생성자는 서브 클래스의 인스턴스를 대신 반환 할 수 있습니까?
- 22. 다형성에서 수퍼 클래스의 객체를 사용하여 서브 클래스의 변수에 접근 할 수 있습니까?
- 23. 부모 클래스의 메소드를 스텁하여 모든 서브 클래스 인스턴스가 rspec에 스텁 될 수 있습니까?
- 24. 모든 클래스의 XJC 수퍼 인터페이스 및 수퍼 클래스?
- 25. PHP에서 수퍼 클래스의 보호 된 var 액세스
- 26. 생성 될 Factory 클래스의 인스턴스 수
- 27. 해당 클래스의 메서드 호출에서 수퍼 뷰를 제거하십시오.
- 28. 같은 클래스의 두 인스턴스가 혼동 스럽습니다.
- 29. 일반 클래스의 인스턴스가 아닌 경우 일반 클래스의 인스턴스가 별도의 스레드에서 변경되는 이유는 무엇입니까?
- 30. 수퍼 클래스의 NSNotificationCenter 수신기 메서드를 재정의하는 방법?
모든 객체가 수퍼 클래스로서 NSObject를 가지고 있다고 생각하십시오. –