コース: プログラミングの基礎:データ構造

今すぐコースを受講しましょう

今すぐ登録して、23,200件以上登録されている、業界エキスパート指導のコースを受講しましょう。

抽象データ型(クラス)とは

抽象データ型(クラス)とは

抽象データ型はクラスとも呼ばれ、 データと操作をひとまとめにした データ構造です。 現在主流のオブジェクト指向型 プログラミング言語では、 この抽象データ型で データを管理しています。 1960 年から 1970 年代に主流だったのは、 業務手順やデータの流れに従って 記述していく プロセス中心設計でした。 これは、少し仕様が変わるだけで、 プログラムの多くの箇所を 作り直すことが必要で、 別のシステムで 使い回すことが困難であるなど、 欠点も多いものでした。 プロセス中心設計の欠点を補うために 出現したのが、 データ中心設計です。 けれどもこれも、 データを中心に設計しているため、 処理とデータが独立してしまい、 再利用向かないという 問題点が残りました。 プロセス中心設計と、 データ中心設計の考え方を合わせ、 処理とデータを 一括管理する方法として 考えだされたのが、 オブジェクト指向です。 このオブジェクト指向で 取り入れられたデータ構造が、 抽象データ型です。 抽象データ型は、 データと操作をひとまとめにした データ構造です。 オブジェクト指向プログラミングでは、 一般的にクラスと呼ばれます。 抽象データ型のデータを アクセスする場合、 内部構造は全く意識することはありません。 処理を行う対象のデータ以外は、 すべて隠れています。 これを情報隠蔽と呼びます。 情報系を例に考えてみましょう。 コンピューター上で 図形を描画する場合は、 通常左上が原点なので、 この場合も左上が x1 と y1、 右下が x2 と y2 で書いています。 ここでは、C 言語で書きますが、 これを構造体で定義すると、 このようになります。 左上座標と右下座標の情報です。 ここで初期値にこのようなデータを 与えたとします。 この長方形の面積は、 このように幅と高さをかけて求めますね。 さらに対角線の長さをもとめる場合には、 このような式を書きます。 この sqrt は、 平方根を求める関数です。 このようにデータと処理が分離しています。 これを抽象データ型である クラスに書き換えると、 このようになります。 ここではオブジェクト指向言語の Java を使っています。 C# もほぼ同様に書くことができます。 この図では、スペースの関係で 横2列に書いていますが、…

目次