2012-02-20 2 views
1

Objective-C에서 상속이 어떻게 작동하는지 설명 할 수 있습니까?상속 objective-c

클래스 A를 상속받은 클래스 B가 있다고 가정합니다.이 두 클래스 간의 접착제는 무엇입니까? 그래서 클래스 B는 클래스 A의 속성과 메서드에 액세스 할 수 있습니까?

+1

"접착제"는 무엇을 의미합니까? 그리고 당신은 객체 지향/상속 자체를 잘 알고 있습니까? 즉, 이미 다른 객체 지향 언어로 작업 했습니까? – DarkDust

+0

메시지에 대해서는 문서에서 잘 설명되어 있습니다. https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/ObjCRuntimeGuide/Articles/ocrtHowMessagingWorks.html#//apple_ref/doc/uid/TP40008048- CH104-TPXREF134 – Monolo

답변

2

isa.

isa은 런타임에 유형을 식별하고 동적 '접착제'(vtable 참조)를 나타냅니다. isa 때문에 런타임은 메시지가 전송 될 때 수행 할 메서드와 self 유형을 알고 있습니다 (또는 결정할 수 있습니다).

인스턴스가 만들어지면 isa이 할당됩니다.

다른 기본 기여자는 물론 컴파일러입니다.이 컴파일러는 하위 수준으로 내려갈 때 인계합니다. 인스턴스 변수에 직접 액세스하고 메소드를 정의합니다. 컴파일러가 객체 생성시 및 메시징시에 추가하는 많은 호출이 있습니다.

0

봅니다이 SampleViewController가있는 UIViewController 상속 사실을 지정하고있는 UIViewController의 모든 속성/메서드에 액세스 할 수

@interface SampleViewController : UIViewController{} 

코드를 다음 이해합니다.

저는 저스틴이 역동적 인 '접착제'에 대해 말한 것에 동의합니다.