• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Abstract class with single subclass
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Abstract class with single subclass


  • Subject: Re: Abstract class with single subclass
  • From: Michael Ash <email@hidden>
  • Date: Wed, 27 May 2009 10:50:09 -0400

On Wed, May 27, 2009 at 9:48 AM, Freddie Tilley <email@hidden> wrote:
> If I would want to allocate a class which allocates a single subclass
> instead, to
> hide the class implementation details
>
> would this be the correct way of doing it?
>
> The following code would be in the BaseClass
>
> + (id)allocWithZone:(NSZone*)aZone
> {
>        if ([[self class] isEqualTo:[BaseClass class]])
>        {
>                return [[SubClass alloc] init];

Close. You only want to do return [SubClass alloc] here. The caller
will be calling -init as usual after your method returns.

Alternatively, you can have a factory method which does both alloc and
init and returns that to the caller. Both work fine, it's pretty much
just a question of what you prefer. Overriding +allocWithZone: works
better if you have many different initializers for the caller to
choose from.

Mike
_______________________________________________

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

References: 
 >Abstract class with single subclass (From: Freddie Tilley <email@hidden>)

  • Prev by Date: Re: NSString initWithFormat and stringWith
  • Next by Date: Re: Abstract class with single subclass
  • Previous by thread: Abstract class with single subclass
  • Next by thread: Re: Abstract class with single subclass
  • Index(es):
    • Date
    • Thread