S eda1a14b50ee24bcab19b62f40858e76 抽象データ型

ADT: Abstract Data Type

javaでいう、ListとかSetとか。Cならfopenでのファイルハンドラとかかな?あるものを扱うオブジェクトがあって、外部はその内部のことを知らなくても扱えるように提供されているインタフェースのこと。

オブジェクト指向(クラス)の本質は抽象データ型であるというようなことがCode Complete第6章に書かれてある。

オブジェクト指向の定義といえばカプセル化、継承、ポリモーフィズム。
カプセル化と抽象データ型は意味が違う?カプセル化は抽象データ型よりも意味が広いのかな?

・---
抽象データ型
http://d.hatena.ne.jp/sumim/20071004/p1
「カプセル化=情報隠蔽+抽象データ型」なのかな?

・---
情報隠蔽とカプセル化って違うもの?
http://andore.com/money/archives/001282.html

わかった、抽象データ型は「データと手続きをなんかわけのわからないものにします!」っていうだけ。だからCのファイルハンドラとか普通に見れる。それに情報隠蔽を施したものがカプセル化。JavaのFileクラスとかになるわけ。

情報隠蔽や抽象化はカプセル化を実現するための手段にすぎないのかも。

もしかして

    他の人の「抽象データ型」

    S eda1a14b50ee24bcab19b62f40858e76

    無所属ソフトウェアエンジニア

    (1722words)

    最新

      最新エントリ

        関連ツイート