「カプセル化(プログラミング)」を編集中
ナビゲーションに移動
検索に移動
この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 | 編集中の文章 | ||
1行目: | 1行目: | ||
'''カプセル化'''([[英語]]:encapsulation)とは、[[オブジェクト指向]]を構成する概念の一つで、[[オブジェクト]]内部の[[データ]]を隠蔽したり(データ隠蔽)、オブジェクトの振る舞いを隠蔽したり、オブジェクトの実際の型を隠蔽したりすることをいう。 | '''カプセル化'''([[英語]]:encapsulation)とは、[[オブジェクト指向]]を構成する概念の一つで、[[オブジェクト]]内部の[[データ]]を隠蔽したり(データ隠蔽)、オブジェクトの振る舞いを隠蔽したり、オブジェクトの実際の型を隠蔽したりすることをいう。 | ||
− | + | 偏差値の低い学校向けの情報処理系教科書において「大変すばらしいものであり絶対に使うように」と大体的に宣伝された。 | |
− | |||
− | + | 一方、カリフォルニア大学バークレー校の有識者を中心とした[[インターネット]]を作った人たちは「[[階層化の有害性]]」として「絶対に使うな」としている。大雑把にいうと、その時は良くても、将来的な改修の際に隠蔽されたデータにアクセスできないと解決できない問題が出てきて、結果的に[[デスマーチ]]に陥るというのである。医学的にいえば「手術ができない存在」であるといえる。 | |
− | + | オブジェクト指向の発案者である[[アラン・ケイ]]も[[コーディング規約]](頭文字にアンダースコアを付けるなどの命名規則)で縛る程度にすることを推奨しており、アラン・ケイが関わった[[オブジェクト指向プログラミング言語]]にはどれも「private」という概念はない。 | |
− | |||
− | オブジェクト指向の発案者である[[アラン・ケイ]]も[[コーディング規約]](頭文字にアンダースコアを付けるなどの命名規則)で縛る程度にすることを推奨しており、アラン・ケイが関わった[[オブジェクト指向プログラミング言語]] | ||
[[ソースコード]]が存在し改修が可能であればカプセル化しても問題ない。[[ソースコード]]があっても[[ライセンス]]的に改修できない場合や、そもそも[[バイナリ]]の[[ライブラリ]]しかない場合などは絶望的である。 | [[ソースコード]]が存在し改修が可能であればカプセル化しても問題ない。[[ソースコード]]があっても[[ライセンス]]的に改修できない場合や、そもそも[[バイナリ]]の[[ライブラリ]]しかない場合などは絶望的である。 | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== 関連項目 == | == 関連項目 == | ||
31行目: | 13行目: | ||
** [[カプセル化(プログラミング)]] | ** [[カプセル化(プログラミング)]] | ||
** [[カプセル化(通信)]] | ** [[カプセル化(通信)]] | ||
− |