Re: Java and Objective-C
Re: Java and Objective-C
- Subject: Re: Java and Objective-C
- From: "Ken Ferry" <email@hidden>
- Date: Sat, 7 Jun 2008 15:08:28 -0700
On Sat, Jun 7, 2008 at 2:10 PM, Denis Bohm <email@hidden> wrote:
>
> On Jun 7, 2008, at 2:01 PM, Bill Bumgarner wrote:
>
>> Actually, any object oriented language that
>> has the ability to inline methods such that they cannot be "out of lined"
>> again at runtime cannot support the dynamism offered by Objective-C.
>
> Can you give a specific example of that specific point using some
> Objective-C code?
Are you familiar with key-value observation?
<http://developer.apple.com/documentation/Cocoa/Conceptual/KeyValueObserving/KeyValueObserving.html>
With KVO you say, "I would like to be notified whenever property foo
of object bar changes", and you can pass some options about what
information you want. It's a controlled form of aspect-oriented
programming (since you come from Java and might have run into that).
It was added in 10.3.
Implementation wise (and this is not to be relied on), when you begin
observing an object, the object's class is dynamically subclassed, and
the property accessors are overridden. The overrides call the
original implementation and also do the notification of interested
parties. The original object changes class so that it is now an
instance of the subclass.
When you stop observing, the object's class changes back to the original class.
An inlining JIT would have trouble with this.
-Ken
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden