You can create instances that implement multiple Java interfaces using `reify` or by declaring them inline of a `defrecord` or a `deftype`. (See http://clojure.org/reference/datatypes for more.)
Clojure does *not* encourage or support concrete inheritance (other than of the limited degree provided by `proxy`) and you will generally find that to be a hard way to go. On Monday, October 31, 2016 at 3:22:07 PM UTC-5, John Szakmeister wrote: > > I'm looking at using Clojure in an application where we make > fine-grained use of interfaces that help describe the capabilities of > an object. We need to take several interfaces and bring them > together, not necessarily in an implementation, but to help define > what the overall interface for the object needs to support. > > In Java, I could use an abstract base class to help: > > public abstract class MyGear implements IFoo, IBar { > // ... > } > > How does one do such a thing in Clojure? Does it even make sense? I > could see turning some things on their head an using multi-methods for > this, but I thought I'd ask and see if there is some other approach I > may be missing. > > Thanks! > > -John > -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.