ラッパー
コンピューターサイエンスでは、ラッパーとは別の項目をカプセル化(包み込む)あらゆるエンティティを指します。ラッパーは主に2つの目的で使用されます。データを互換性のある形式に変換することと、抽象化を使って内部のエンティティの複雑さを隠すことです。例として、オブジェクトラッパー、関数ラッパー、ドライバーラッパーがあります。
1. オブジェクトラッパー
オブジェクトラッパーとは、プリミティブデータ型または別のオブジェクトをカプセル化するクラスです。たとえばJavaでは、charプリミティブを文字クラスに変換するために使用できます。プリミティブをクラスに変換すると、開発者はデータを変更するために、toUpperCase()などのメソッドを使用できます。また、オブジェクトラッパーを使って、レガシークラスのプロパティを新しいコードと互換性のあるものに変換することもできます。
2. 関数ラッパー
関数ラッパーは、1つ以上の関数をカプセル化します。たとえば、Webサイトの「メール送信」機能は、フォームデータを処理し、送信内容にスパムが含まれていないか確認し、メールサーバーを使ってメッセージを送信する複数の関数をまとめることがあります。関数ラッパーは、単一の関数を新しいコードや古いコードで動作させるために、その関数を包むこともできます。たとえば、関数を新しいAPIと互換性のあるものにするために、パラメーターを変更または追加することがあります。
3. ドライバーラッパー
ドライバーラッパーを使うと、ドライバーを、本来は互換性のないオペレーティングシステムで動作させることができます。たとえば、古いグラフィックカードがWindows 7向けに設計されたドライバーしかサポートしていない場合があります。Windows 10用のドライバーが利用できない場合、ドライバーラッパーがアダプターとして機能し、グラフィックカードでWindows 7用のドライバーをWindows 10上で使用できるようにします。ドライバーラッパーは、元の製造メーカー(OEM)またはサードパーティの開発者が提供することがあります。
知識をテストする