並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 3 件 / 3件

新着順 人気順

共変性の検索結果1 - 3 件 / 3件

タグ検索の該当結果が少ないため、タイトル検索結果を表示しています。

共変性に関するエントリは3件あります。 プログラミング配列 などが関連タグです。 人気エントリには 『TypeScriptにおける配列の共変性』などがあります。
  • TypeScriptにおける配列の共変性

    const animal: Animal = { animal: "string", }; const dog: Dog = { animal: "string", dog: "string", }; いま,Dog <: Animalです. <:という記号は2つの型のあいだに書いて,「左の型が右の型のサブタイプである」と読みます. TypeScriptの型システムは構造的なので,2つのオブジェクトがサブタイプ関係にあるには,それらに共通するプロパティについてもまた,サブタイプ関係が必要1です. 今回の例では,DogとAnimalに共通するanimalプロパティについてstring <: stringなのでOKです. TSでは,S <: TならばT型の変数にS型の値を代入できます. つまり,Dog <: Animalなので Animal型の変数にDog型の値を代入できます.

      TypeScriptにおける配列の共変性
    • 共変性・反変性とは型構築子が部分型関係をどう保ち、どう変換するかという性質のことである

      まえがき プログラミングに役立つと筆者が考える範囲で、プログラミングにおける共変性・反変性など(まとめて変性と呼びます)について解説をします。 圏論的な視点の話は、筆者が詳しくなく、さらに一般のプログラミングで重要になることが少なそうなので、今回は省略させていただきます。 先に理解しておく必要がある概念 共変性・反変性について理解するためには「部分型」の概念と、「型構築子」の概念の理解が必要になります。この章ではこの2概念を確認していきます。 部分型(サブタイプ) 「部分型である」/「部分型でない」とは、2つの型の間の関係です。 T2型の値が期待されている箇所で、T2型の値の代わりにT1型の値を渡して問題がないとき、T1はT2の部分型(サブタイプ) であるといいます。T1がT2の部分型であることはよくT1 <: T2 のように表されます。 C#のコードで例を見てみます。下はHumanクラス

        共変性・反変性とは型構築子が部分型関係をどう保ち、どう変換するかという性質のことである
      • そういうことか! どこで何を読んでも「はあ?」だった人が最後にもう一度だけ挑戦する「共変性」と「反変性」 - Qiita

        そういうことか! どこで何を読んでも「はあ?」だった人が最後にもう一度だけ挑戦する「共変性」と「反変性」C#オブジェクト指向.NETFrameworkGenericsSOLID ※少し長くなりますので、時間のない方はまず こちらの記事 を読んでみてください。 プログラミング言語仕様の中でも、名前のわかりづらさと概念のややこしさが相まって、際立ってとっつきにくい「共変性」「反変性」。 どこで何を読んでも頭がこんがらがるばかりという方。 なんとなく使えているけど仕組みはよくわかっていないという方。 そのもやもやをいったんお引き受けします。 (お返しすることになったらごめんなさい) 一般的な解説とはあえて違った切り口で、かつ本質から逸れることなく、図を使わずに文章とコードのみで説明してみたいと思います。 互換性の概念であって状態遷移やデータフローの話ではありませんので、混乱を避けるため、(そもそ

          そういうことか! どこで何を読んでも「はあ?」だった人が最後にもう一度だけ挑戦する「共変性」と「反変性」 - Qiita
        1

        新着記事