动态消息查找和继承,谁是自我'在对象的情况下引用?

时间:2014-04-25 13:31:51

标签: objective-c oop

我的MyClass继承自MyParentClass。

我创建了一个MyClass实例。当我向此Object发送消息并且MyClass实例方法没有实现它时,它会上升到层次结构以查看MyParentClass实例方法是否存在。

我的问题是:如果MyParentClass实现了这个消息选择器,并且在该消息内部有一个对[self doWhatever]的调用。将新的选择器执行什么操作,无论是指向MyParentClass还是指向Object本身,然后通过MyClass实例方法,然后将层次结构向上移动到MyParentClass?

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

这是一个纯粹的OOP问题,而不是Obj-C。你可以很快测试一下发生了什么。

实例属于子类,因此对“self”的任何调用都将调度到子类,即使在超类中调用也是如此。