> On 1 Aug 2016, at 19:05, Goffredo Marocchi via swift-evolution 
> <[email protected]> wrote:
> 
> 
> Sent from my iPhone
> 
>> On 31 Jul 2016, at 21:19, Sean Alling via swift-evolution 
>> <[email protected]> wrote:
>> 
>> I disagree with this suggestion.  Both a protocol conformance & class 
>> inheritance define behavior conformance.  If anything the protocol is more 
>> explicitly shown because the required properties and methods are conformed 
>> to within its declaration.
> 
> Especially in a language without abstract classes, inheritance and protocol 
> conformance have a quite important distinction: protocols are about 
> decoupling concrete implementation from behaviour which is not what 
> inheritance allows or promises.

But is it a big enough case for its own syntax? I've had to work quite hard to 
break myself of old OOP habits, but I've now gotten pretty good at using 
protocols with extensions to do much of what I used abstract classes and such 
for (took a while though).

Even when I do use classes with inheritance, unless it's a very simple type I 
don't usually define protocol conformance as part of the type declaration, so I 
know the only thing up there will be inheritance; I put all my protocol 
conformances into extensions.

Also, I don't think it's that hard to figure out what a type represents, as you 
can alt-click in Xcode to quickly find out whether a type is a class or a 
protocol, and of course class inheritance is only possible on classes.
_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to