> (...)
> This is perfectly possible, although not necessarily desirable.
>
> (ns com.example.MyClass
>    (:gen-class
>      :state state
>      :init init
>      :methods [[getMyIntField [] Integer]
>                [setMyIntField [Integer] Void/TYPE]]))
>
> (defn -init
>    [x]
>    [[] (ref x)])
>
> (defn -getMyIntField
>    [this]
>    (-> this .state deref))
>
> (defn -setMyIntField
>    [this x]
>    (dosync (ref-set (.state this) x)))

Well, much more important for me is the ability to declare a class
with some *fields*. Methods (functions) using these fields can be
implemented in Clojure (the class doesn't need to be used from Java).
So how can I implement in Clojure the following code?

class MyClassA
{
  int myIntField;
}

class MyClassB extends MyClassA
{
  int myNewIntField;
}


> (...)
> You can implement multiple inheritance with multimethods.
> (...)

I'm not asking about multiple inhertiance of methods. I'm asking about
multiple inheritance of *fields*.

But I could live without it eventually. I do when I'm using Java.
--~--~---------~--~----~------------~-------~--~----~
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
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to