10 lines
300 B
Clojure
10 lines
300 B
Clojure
; You can think of this as an interface
|
|
(defprotocol Foo (getFoo [this]))
|
|
|
|
; Generates Example1 Class with foo as field, with method that returns foo.
|
|
(defrecord Example1 [foo] Foo (getFoo [this] foo))
|
|
|
|
; Create instance and invoke our method to return field value
|
|
(-> (Example1. "Hi") .getFoo)
|
|
"Hi"
|