누구든지 Java의 "최종"개념처럼 Objective-C의 하위 클래스에서 수퍼 클래스 메서드를 재정의하는 것을 피할 수 있습니까?객관적인 c 하위 클래스의 메서드를 재정의하는 것을 피하는 방법
답변
수 없습니다. Objective-C 런타임 라이브러리를 사용하여 실행중인 응용 프로그램에서 메서드 구현을 바꿀 수 있기 때문에 리프 클래스의 메서드가 사용자가 제공 한 메서드인지 확인할 수 없습니다. 이것은 런타임 라이브러리의 디자인의 신중한 기능입니다.
괜찮 았으면 개체 존재를 통해 변경할 수없는 수퍼 클래스 속성을 보호하는 방법. 프레임 워크 나 래퍼를 작성하는 동안 개발자가 이러한 상황을 처리하는 방법에 대해 설명합니다. – chethan
@chethan 당신이하지 않거나, 개발자가 요구 사항과 희망을 문서화 한 것입니다. KVC에서 물건을 숨기거나 용도를 혼란스럽게하는 등의 일을 할 수 있지만, 사람들은 그 일을 막을 수 없습니다. –
이것을 시도하십시오 :: http://iphonedevelopertips.com/objective-c/private-methods.html –
이 잘 나는 확실하지 않다는 "최종"객관적인 C에 해당하지만, 당신이 원하는라는 당신의 서브 클래스에서 특정 메서드를 작성하지 않는 슈퍼 클래스의 메소드가있는 경우
플러스 "+"접두사로 작성된 메서드는 클래스 메서드이고 인스턴스 메서드가 아니므로 메서드가 항상 동일해야한다고 생각합니다.
- 1. 버전, 패키지 등을 재정의하는 것을 피하는 방법
- 2. 수퍼 클래스의 NSNotificationCenter 수신기 메서드를 재정의하는 방법?
- 3. 수퍼 클래스의 수퍼 클래스 메서드를 호출하는 메서드를 재정의하는 방법?
- 4. 부모 클래스의 필드를 재정의하는 방법
- 5. 하위 클래스의 메서드를 재정의하려면 어떻게해야합니까?
- 6. Ruby - 클래스 메서드를 재정의하는 방법?
- 7. JTextArea isEnabled() 메서드를 재정의하는 방법
- 8. 프롤로그에서 반복되는 것을 피하는 방법
- 9. C# .NET을 재정의하는 방법
- 10. C++ : 하위 클래스의 템플릿
- 11. Django Model 필드에서이 메서드를 재정의하는 방법
- 12. Javascript : 일부 클래스에서 공용 메서드를 재정의하는 방법?
- 13. 무료 메서드를 재정의하는 것이 안전합니까?
- 14. JPA에서 상속 된 클래스의 특성을 재정의하는 방법
- 15. 객관적인 C, 개체가 특정 클래스의 경우 쿼리하는 방법
- 16. 수퍼 클래스에서 UIViewController 하위 클래스의 메서드를 처리하는 방법
- 17. ObjC에서 하위 클래스의 구현에서 수퍼 클래스의 메서드를 숨기려면 어떻게해야합니까?
- 18. C++에서 재정의하는 메서드는 항상 파생 클래스의 헤더에서 수행됩니까?
- 19. 클래스의 내부 메서드를 모의하는 방법?
- 20. ORM의 save 메서드를 재정의하는 것에 대한 생각
- 21. 메서드를 재정의하는 동안 액세스 지정자
- 22. 표준 입력이 C# 프로세스에서 멈추는 것을 피하는 방법
- 23. Gmaps4rails의 rich_marker에 그림자가 적용되는 것을 피하는 방법
- 24. 아이템 렌더러에 'if 문'이로드되는 것을 피하는 방법
- 25. Github에 비밀 정보가 노출되는 것을 피하는 방법
- 26. 두 프로세스가 병렬로 실행되는 것을 피하는 방법
- 27. 객관적인 C 클래스를 암호화하는 방법
- 28. 객관적인 c isKindOfClass missunderstanding?
- 29. 객관적인 C 파일 조직
- 30. ISupportInitialize 구현을 올바르게 재정의하는 방법
이 질문을 통해 문제를 밝힐 수도 있습니다. http://stackoverflow.com/questions/2864273/how-to-avoid-the-base-class-member-functions-getting-overridden-by-sub -class-in-o/2864554 –