Objective c 动态消息查找和继承,谁是';自我';在对象的情况下指的是什么?

Objective c 动态消息查找和继承,谁是';自我';在对象的情况下指的是什么?,objective-c,oop,Objective C,Oop,我有从MyParentClass继承的MyClass 我创建了MyClass的一个实例。当我向这个对象发送一条消息,而MyClass实例方法没有实现它时,它会向上移动层次结构,查看MyParentClass实例方法是否实现了它 我的问题是:如果MyParentClass实现了这个消息选择器,并且在该消息中有一个对[self doWhatever]的调用。新的选择器是否会指向MyParentClass或对象本身,并通过MyClass实例方法,然后向上到达MyParentClass的层次结构?Sel

我有从MyParentClass继承的MyClass

我创建了MyClass的一个实例。当我向这个对象发送一条消息,而MyClass实例方法没有实现它时,它会向上移动层次结构,查看MyParentClass实例方法是否实现了它


我的问题是:如果MyParentClass实现了这个消息选择器,并且在该消息中有一个对[self doWhatever]的调用。新的选择器是否会指向MyParentClass或对象本身,并通过MyClass实例方法,然后向上到达MyParentClass的层次结构?

Self将是此实例中的对象(而不是父对象)。因此,将使用您的实现。

这是一个纯粹的OOP问题,而不是Obj-C。您可以非常快速地测试发生了什么

实例是子类的实例,因此对“self”的任何调用都将分派给子类,即使在超类中调用也是如此