나는 추상적 인 수업을 준비하고 있습니다. 이는 누군가가 서브 클래스를 작성할 때 몇 가지 메소드를 겹쳐 써야한다는 것을 의미합니다.서브 클래스로 덮어 쓰려고 할 때 .h에서 메소드를 선언하는 것이 좋은 스타일입니까?
그러나 다른 한편으로는 이러한 메서드는 추상 클래스 (하위 클래스의 수퍼 클래스)를 제외한 다른 곳에서 수동으로 호출 할 수 없습니다.
반드시 이러한 메소드를 .h로 선언해야하며, ".foo 및 -bar를 덮어 써야합니다."라는 .h에 주석을 추가 할 수 있습니까? 아니면 추상적 인 방법을 만드는 더 좋은 패턴이 있습니까?
'신고'와 '정의'를 구분하고 있습니까? 하위 클래스가 기본 클래스에서이를 재정의 할 수 있도록 선언해야합니다. 헤더에 정의하지 않기로 결정할 수 있습니다. –
사실이지만 여전히 하위 클래스가해야 할 일을 문서화하고 싶습니다. 나는 보통 질문에 대답하기 때문에 완벽한 해결책은 아니지만 "Subclassing"과 같은 제목의 주석이있는 머리글에 섹션이 있습니다. 누구나 여전히 그것을 호출 할 수 있습니다 ... –
"덮어 쓰지"않고 "덮어 쓴" . 서브 클래스의 메소드를 오버라이드 (override)하면, 슈퍼 클래스의 구현이 그대로 존재합니다. – NSResponder