タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

OOPに関するmodal_soulのブックマーク (3)

  • re:僕にとってMaybe / Nullable / Optional が、どうしてもしっくりこないわけ。 - ぐるぐる~

    元ネタ: 僕にとってMaybe / Nullable / Optional が、どうしてもしっくりこないわけ。 - 亀岡的プログラマ日記 OOPの文脈で見ると、元の記事が言っていることもわからなくはないのですが、対象が広すぎていろいろと不正確になってしまっているので、ちょっとまとめてみます。 元の記事が対象にしているのは、Maybe / Optional / Nullableの3つです。 対応する型を持つ言語を見てみると、下記のようになります。 Maybe(Haskell) Optional(Swift/Java) Nullable(C#) これらは、「値がないこと」を表すもの、という見方では同じですが、それぞれ異なる価値観の元に作られています。 Maybe/OptionalとNullable これらはすべて型パラメータを取ります*1。 しかし、この中でNullableだけは型パラメータに

    re:僕にとってMaybe / Nullable / Optional が、どうしてもしっくりこないわけ。 - ぐるぐる~
  • オブジェクト指向言語としての Scala 入門 - seratch's weblog in Japanese

    入門記事の一覧 About - case class HatenaDiary(id: Symbol = ’seratch2) Scalaのバージョン この記事が対象とする Scala のバージョンは「2.9.2.final」です。 Anyを頂点とするクラス階層 Scala では scala.Any が全ての型の親です。 scala.Any の下には scala.AnyVal と scala.AnyRef がいます。 java.lang.Object を親に持つ全ての Java オブジェクトは scala.AnyRef 型として扱うことができます。 AnyVal は Byte,Int,Boolean などの親で AnyRef はそれ以外の型の親になります。 全てがオブジェクト Scala では Java でいう primitive 型(基型)は存在せず、すべてがオブジェクトです。 たとえば

    オブジェクト指向言語としての Scala 入門 - seratch's weblog in Japanese
  • オブジェクト指向プログラミングとは何か? · eed3si9n

    2013-09-18 oop はどう定義されるべきだろうか? 純粋オブジェクト指向プログラミング 純粋オブジェクト指向プログラミングは以下のように定義できる: オブジェクトを使ったプログラミング。 オブジェクトとは何か? 他のオブジェクトへの参照を保持し、事前にリストアップされたメッセージを受信することができ、他のオブジェクトや自分自身にメッセージを送信することができるアトムで、他には何もしない。メッセージは名前とオブジェクトへの参照のリストから構成される。 これでおしまい。言い回しは僕が考えたものだけど、アイディアはオブジェクト指向という言葉を作った張人 Alan Kay (2003) からのものだ。これ以外は、直接 oop に関係無いか、実装上の詳細だ。 この定義から導き出せるものを考えてみよう。 まずは名前空間だ。C の関数と違ってメッセージ (別名メソッド) はオブジェクトごとに

  • 1