0
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 1 year has passed since last update.

オブジェクト指向の考え方(その2:抽象化と階層化)

Last updated at Posted at 2023-04-21

抽象化について

抽象化と聞くと、ぼんやりとした状態のものをイメージしやすいが、オブジェクト指向においての抽象化とは、モノ(オブジェクト)から詳細な部分を抽出あるいは排除し、特長だけを導出しシンプルにした状態のことを指す。

「抽象度の視点と粒度を変えながら物事を事柄に置き換えて分類して考える」ことであり、オブジェクト指向の中核をなす最も重要な概念。

階層化

階層化によって分類する方保には、

  • 「〜である」という、汎化特化(継承)関係である。is-a(king-of)階層
  • 「部品からなる」という、集約関係である、part-of階層

の2種類が存在する。

[ is-a ]
オブジェクト指向-2 2.jpg

[ part-of ]
オブジェクト指向-3.jpg

オブジェクト分類の注意点

何も考えずオブジェクト分類(=分析)を行った場合、人によって異なった結果が出る場合がある。

オブジェクト指向-4.jpg

オブジェクト指向-5.jpg

どちらも理想的な形にはなっているが、用途によって理想できてはない場合がある。
期待された効果を得るために、扱われ方(=要求)を理解して、抽象化を行う必要がある。


前の回はこちら → オブジェクト指向の考え方(その1:オブジェクト指向とは)

続きはこちら → オブジェクト指向の考え方(その3:カプセル化)

0
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
0
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?