Special

Clearance Sale!

We've been publishing for over five years now and it's time to clear out our inventory of back issues, so we're slashing prices!

RBD Magazines

Check out this amazing clearance sale of all our past issues. Missing some issues? This is a great time to complete your RBD collection. Save up to 40% off the regular price of our printed back issue packages. These prices are only good until the end of the year May 2008 and supplies are limited, so place your order today.

Article Preview


Buy Now

Print:
PDF:

Object-Oriented Thinking

Return Type Covariance

Issue: 2.4 (March/April 2004)
Author: Charles Yeomans
Author Bio: Charles Yeomans pontificates on REALbasic from Lexington, Kentucky.
Article Description: No description available.
Article Length (in bytes): 4,652
Starting Page Number: 36
RBD Number: 2417
Resource File(s): None
Related Link(s): None
Known Limitations: None

Excerpt of article text...

REALbasic 5.5 adds a new language feature, return type covariance. Despite the technical name, it's easy to grasp by seeing it in use. So let's begin by seeing how return type covariance solves a problem.

The Factory Method Pattern

In REALbasic, Java, and C++, the New operator is not polymorphic; that is, you cannot select the class of the object returned at runtime. The Factory Method pattern is a standard scheme for implementing polymorphic object creation. In this pattern, you define an abstract class, or a class interface, with a NewObject function. You then implement this function using the New function in subclasses. NewObject can be called polymorphically, solving your problem. Let's make up an example.

PersistentObjectFactory is a class that handles the creation and management of objects stored in a database. PersistentObjectFactory has a function, NewObject() as PersistentObject. We'll implement it in subclasses corresponding to concrete subclasses of PersistentObject. Essentially, NewObject will be a wrapper function that calls through to New for a particular concrete subclass of PersistentObject.

...End of Excerpt. Please purchase the magazine to read the full article.

Article copyrighted by REALbasic Developer magazine. All rights reserved.


 


|

 


Weblog Commenting and Trackback by HaloScan.com