抽象データ型 (ADT) は、その名前が示すように、データ構造を抽象的に理解したものです。 ADT は、その動作と特性、特に、ADT に格納できるデータ、このデータに対して実行できる操作、およびこれらの操作の動作の観点から定義されます。たとえば、スタックとキューは、ノードまたは配列で構成されるリンク リストを使用して内部的に実装できます。ただし、スタックの主な機能は後入れ先出し (LIFO) データ構造であり、キューの主な機能は先入れ先出し (FIFO) データ構造です。ユーザーの観点から見た動作は、リンク リストまたは配列を使用した内部実装に関係なく、そのまま残ります。ユーザーがスタックを操作している場合、ユーザーはデータをスタックにプッシュするか、スタックからデータをポップするかだけを気にするだけです。ユーザーは、そのスタックが内部でどのように動作しているかについての知識を持っている必要はありません。
データ構造がそのジョブをどのように実行するかを扱う具体的かつ詳細な実装であるデータ構造とは対照的に、ADT はそのジョブをどのように実行するかではなく、何を実行するかに焦点を当てます。つまり、ADT はその特定のデータ構造が何を実行する必要があるかを定義し、データ構造はその構造の具体的な実装です。
ADT を Web 開発の観点から説明すると、CRUD (作成、読み取り、更新、削除の略) API に例えることができます。 CRUD API のユーザーは、どのリクエスト メソッド (GET、POST、PUT/PATCH、または DELETE) を送信する必要があるかを知るだけで済みます。API のルールに従っていれば、API サーバーはデータを送り返します。ユーザーは API サーバーの内部動作について心配する必要はありませんでした。彼らは、CRUD API の対話と動作のルールを知っていればよいだけでした。この場合、CRUD API はユーザーの観点からは ADT として機能します。
特定の ADT で特定のメソッドと操作の実装を強制する特定のルールはありません。これは、ユースケース シナリオの要件に基づいて決定され、最終的には設計の選択によって決定されます。
以上がこんにちは、Js愛好家、の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。