「抽象型」の版間の差分
削除された内容 追加された内容
編集の要約なし |
Momiji-Penguin (会話 | 投稿記録) 改名に伴う修正 |
||
25行目:
* [[Common Lisp Object System]] には [[Mixin]] がある。これは [[:en:David Moon|David Moon]] が [[:en:Lisp Machine Lisp|Lisp Machine Lisp]] のために開発した [[:en:Flavors (computer science)|Flavors]] を基にしている。なお、CLOS ではクラス内で定義された[[メソッド (計算機科学)|メソッド]]の代わりに、クラスとは別の場所で定義された[[総称関数]]を使う。
* [[Java]]には[[インタフェース (抽象型)|インタフェース]]がある。インタフェースはメソッドのシグネチャや定数をもつことができるが、メソッドの実装や変数(フィールド)をもつことはできない。Javaのクラスは複数のインタフェースを実装できる。Javaにおける抽象クラスは、インタフェースを実装し、いくつかのメソッドのシグネチャを定義していることもあるが、一方でキーワード <code>abstract</code> により抽象化されたままのメソッドを持っている。
* Trait はより新しい手法で、[[Scala]] や [[
== 脚注・出典 ==
|