Protocol advantages over classes

There are some tricks that we can do with protocols that we cannot do in a class/subclass hierarchy.