1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【夏休み企画】#IT用語一問一答【毎朝投稿23日目】Polymorphism

1
Posted at

この記事を読むと、、

  • 「関連用語」を使って「Polymorphism」を説明できるようになる
  • 「Polymorphism」がもっと好きになる(多分)

関連用語

アドホック多相 / パラメトリック多相 / サブタイピング

[復習用] 記事の内容を見る前に上記の言葉で「Polymorphism」を説明してみよう!

企画説明

  • クラウドって何?って人に聞かれて説明してるけど俺もよく知らないや、、
  • ドキュメント読んでみてるけど半分くらい何言ってるか分かんない、、
  • 今日の夕飯はナスの炒めものにしよっかな〜、あれ、NASってなんだっけ?

みたいなことが結構あったので、知ったかしていたIT用語を毎日一個ずつちゃんと学んでいこうっていう企画です!

昨日の記事はこちら↓

Polymorphismとは

Polymorphism = 多相性 = 多態性 = 単一のインターフェースで様々な型に対応した処理を実行できる実装

  • カプセル化、継承に並びOOPにおける重要な性質の一つ

    • ただし、PolymorphismはOOPLに限った用語ではない
  • 以下の3つに(ぼんやりと)分類できる

    • アドホック多相 = 同一の名前を持つ関数やメソッドを文脈(ex. 実引数の型)に対応して複数定義すること(オーバーロード)
    • パラメトリック多相 = 抽象的な型を用いて関数やデータ型を記述すること
      • ex. C++のテンプレート、Javaのジェネリクス
    • サブタイピング
      • スーパークラスのインスタンスをサブクラスのインスタンスで安全に代替できる継承の用法
      • ざっくりいうと、class Aを継承したclass BがあったときにA a = new B();ができる

参考資料

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?