Inheritance/Single: Difference between revisions
Content added Content deleted
m (→{{header|PureBasic}}: update with alternative version) |
|||
Line 106: | Line 106: | ||
// ... |
// ... |
||
};</lang> |
};</lang> |
||
=={{header|Clojure}}== |
|||
This is not very useful in clojure |
|||
<lang Clojure>(gen-class :name Animal) |
|||
(gen-class :name Dog :extends Animal) |
|||
(gen-class :name Cat :extends Animal) |
|||
(gen-class :name Lab :extends Dog) |
|||
(gen-class :name Collie :extends Dog)</lang> |
|||
More useful: |
|||
<lang Clojure>(derive ::dog ::animal) |
|||
(derive ::cat ::animal) |
|||
(derive ::lab ::dog) |
|||
(derive ::collie ::dog)</lang> |
|||
use: |
|||
<lang Clojure>user> (isa? ::dog ::animal) |
|||
true |
|||
user> (isa? ::dog ::cat) |
|||
false |
|||
user> (isa? ::collie ::animal) |
|||
true</lang> |
|||
== {{header|Common Lisp}} == |
== {{header|Common Lisp}} == |