タグ

traitに関するgologo13のブックマーク (3)

  • Scalaトレイト メモ(Hishidama's Scala trait Memo)

    概要 [/2014-03-22] trait with [/2011-01-08] 初期化順 [2011-01-08] super[] [/2011-09-13] ソース分割の例 [/2011-08-26] 概要 Javaはクラスの多重継承は出来ないが、複数のインターフェース(interface)を1つのクラスに実装(implements)することが出来るようになっている。 そのクラスを呼び出す(使う)側からすれば、そのインターフェース経由でメソッドが呼べるということなので、分かり易くて便利だ。 しかしそのクラスを作る(用意する)側からすると、インターフェースで宣言されている全てのメソッドの中身をコーディングしなければならないので、面倒。 (インターフェースでは、メソッドの宣言は出来ても、その中身(体)を記述することが出来ない為(JDK1.7以前)) 例えどのクラスでも同じようなコーディ

  • Scalaのtraitはmixinか? - 西尾泰和のはてなダイアリー

    Rubyのmixin(モジュール)、Squeakのtrait、Scalaのtraitそれぞれについて: Q1: メソッドの実装を持てる? はい、はい、はい Javaのクラスは「はい」、インターフェイスは「いいえ」、C++Pythonのクラスは「はい」 Q2: クラスがそれを複数個継承できる? はい、はい、はい Javaのクラスは「いいえ」、インターフェイスは「はい」、C++Pythonのクラスは「はい」 Q3: インスタンスを作れる? いいえ、はい、いいえ C++Pythonのクラスは「はい」 Q4: 複数個継承した際に名前が衝突しました、どうなる? しれっと上書き、エラー(*)、エラー (*) Squeakはクラス定義時には例外を投げず、衝突したメソッドを「衝突した旨の例外を投げるメソッド」に置き換える。ユーザが衝突に気づくのは、クラスブラウザでメソッドを確認した時か、そのメソッド

    Scalaのtraitはmixinか? - 西尾泰和のはてなダイアリー
  • Trait とは? その使い道を考えてみる

    決済システムの内製化への旅 - SpringとPCFで作るクラウドネイティブなシステム開発 #cndt2019 #osdt2019 #keynote

    Trait とは? その使い道を考えてみる
    gologo13
    gologo13 2014/06/22
    継承関係と関係なく、実装を再利用できる機能 / わかりやすい.
  • 1