


からの継承は、特化の一形態ではなく、むしろ機能を他のクラスから集めるための手段である。あるクラスは多重継承により複数の クラスから継承を行って、大半の機能を継承によって実現することができる。取り込んだ要素はコンパイル時にクラスの一部となる。興味深いことに、 はインターフェイスを実装する必要はない。それでもあえてインターフェイスを実装する利点は、そのインターフェイスを必要とするメソッドに、引数としてインスタンスを渡せるからである。 では、クラスは属性、操作、クラスの初期化が全て行われるブロック内で定義される。クラスで呼び出し可能な全てのメソッドは同時に定義され、クラスの定義は完全である。 のような言語では を言語レベルではサポートしないが、実行時に別のオブジェクトからメソッドをコピーし、いわば のメソッドを借りてくることにより簡単に模倣することができる。これは、オブジェクトの持つシグネチャが固定の静的に型付けされた言語では不可能である。 では、codice_1 モジュールは UDP および TCP ソケットサーバとして動作する codice_2 と codice_3 クラスの両方を備えている。通常、すべてのコネクションは同じプロセス内で処理されるが、codice_4 と codice_5 という追加の クラスが存在する。下記のように TCPServer を ThreadingMixIn により拡張すると、codice_5 が codice_3 にコネクションごとにスレッドを生成する機能を追加する。あるいは、codice_4 を用いると各新規のコネクションに対してプロセスが される。明らかに、スレッドを生成したりプロセスを する機能は単独では大して役に立たない。この使用例では、 はソケットサーバとしての機能に影響することなく、基盤となる機能を選択可能な形で提供している。 や などの一般的な言語では、 の機能の一部は、インタフェースにより提供される。しかし、インタフェースはクラスがサポートしなければならないものを指定するのみで、実装を提供しないため、有用なのはポリモーフィズムを提供するときだけである。クラスがインターフェイスに依存して実装されていたり、共通の振る舞いを一箇所にリファクタリングする場合には有効に利用できる。インターフェイスをアスペクト指向プログラミングと組み合わせた場合 や などの言語で完全な の機能を提供できる。
出典:wikipedia
LINEスタンプ制作に興味がある場合は、
下記よりスタンプファクトリーのホームページをご覧ください。