• 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: VC# vs. ObjC and partial abstract classes
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: VC# vs. ObjC and partial abstract classes


  • Subject: Re: VC# vs. ObjC and partial abstract classes
  • From: Sixten Otto <email@hidden>
  • Date: Tue, 18 Mar 2014 22:14:47 -0700

On Tue, Mar 18, 2014 at 7:29 PM, Luther Baker <email@hidden> wrote:

> A _better_ analogy to an Objective-C @protocol would be a formal Java
> interface.
>

Sure. And the same in C# (which the OP was asking about).


> So, Kyle may have good reasons for his answer - but if I understand the
> essence of your question, I would say yes, a pure "abstract class" (where
> no methods are implemented) or a formal "interface" (where method
> signatures have no implementation) in a language like Java ... would both
> indeed be _similar_ to a formal @protocol in Objective-C.
>

The significant difference, though, between an abstract class in Java or
C#, and a protocol in Objective-C, is that the former may have substantial
implementation associated with it for the benefit of subclasses, and just
not be directly instantiable.

(Something like UIKit's UIResponder might be a good choice for this kind of
thing, if Objective-C supported it: it provides a lot of common machinery
you wouldn't want each conforming class to implement separately, but also
isn't something you'd use on its own.)

Another way that Objective-C accomplishes some of the same goals is through
delegation. You don't, for instance, subclass a UITableView to provide its
data, you provide a delegate that conforms to UITableViewDataSource; which
protocol does have a couple of required methods.

Sixten
_______________________________________________

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


  • Follow-Ups:
    • Re: VC# vs. ObjC and partial abstract classes
      • From: Luther Baker <email@hidden>
References: 
 >VC# vs. ObjC and partial abstract classes (From: William Squires <email@hidden>)
 >Re: VC# vs. ObjC and partial abstract classes (From: Kyle Sluder <email@hidden>)
 >Re: VC# vs. ObjC and partial abstract classes (From: Luther Baker <email@hidden>)

  • Prev by Date: Re: VC# vs. ObjC and partial abstract classes
  • Next by Date: Re: VC# vs. ObjC and partial abstract classes
  • Previous by thread: Re: VC# vs. ObjC and partial abstract classes
  • Next by thread: Re: VC# vs. ObjC and partial abstract classes
  • Index(es):
    • Date
    • Thread