「みんなの翻訳」は、世界中の文書をみんなで協力して翻訳するサイトです。

みんなの翻訳ロゴ
ブクタブ
翻訳サイト

カテゴリ一覧

このサイトについて 新規登録はこちら お試し翻訳

一覧

2015/07/07

復旧のお知らせ

2015/06/08 ~ 2015/07/07 の期間、サーバ障害によりサービスが利用できない状況になっておりました。 現在は復…

List

Hnoss

English⇒Japanese

shikimi

English⇒Japanese

tkkobe

English⇒Japanese

K0hei22

English⇒Japanese

ホームWikipedia翻訳一覧 > Wikipedia翻訳

Wikipedia翻訳

ラッパー関数

法律: IT 百科事典

ラッパー関数

ラッパー関数とは、二次的なサブルーチンの呼び出し[1]や追加のコンピュータ操作をほとんど必要としないシステム・コールを主な目的とした、ソフトウェアライブラリやコンピューター・プログラムの中のサブプログラムのことである。

目次

1 目的
 1.1 プログラミングの便利さ
 1.2 クラス/オブジェクト・インタフェースを適応させる
 1.3 コードのテスト
 1.4 多重継承
2 ライブラリ関数とシステム・コール
3 関連項目
4 参考文献

目的

 ラッパー関数は委譲の手段であり、数多くの目的で使用できる。

プログラミングの便利さ

ラッパー関数はコンピューター・プログラムをより容易に書けるようにするために使うことができる。この一つの例はJava AWTライブラリにあるMouseAdapterとその同種のクラスである[2]。ラッパー関数は、サードパーティのライブラリ関数を使用するアプリケーションの開発において役に立つ。ラッパーはサードパーティの関数それぞれに対して書くことが可能であり、ネイティブ・アプリケーションで使用することができる。サードパーティの関数の変更やアップデートのときにも、ネイティブ・アプリケーションの中のサードパーティ関数のインスタンスすべてを変更するのではなく、ネイティブ・アプリケーションの中のラッパーのみ修正が必要になる。

クラス/オブジェクト・インタフェースを適応させる

主要な記事:アダプタ・パターン

ラッパー関数は、既存のクラスやオブジェクトを適応させ、異なるインタフェースをもたせるために利用することが可能である。これは、既存のライブラリ・コードを使用しているときに特に便利である。

コードのテスト

ラッパー関数は、既存のシステム関数のエラーチェックルーチンを書くときに利用でき、関数の呼び出しごとに同じエラーチェックを繰り返すことによるコードの長さの大幅な増大を避けられる[3]。元の関数を呼び出しているものすべてをラッパーの呼び出しに置き換えることができ、プログラマは一度ラッパーを書くことでエラーチェックのことを気にせずにいられる。テストドライバは一種のラッパー関数であり、一つ一つのありうる経路を正確にたどるために、様々な設定やパラメータでコードモジュールを実行し、通常はそれを繰り返し呼び出す。それは提供可能なコードではないが使い捨てのコードでもなく、通常はリグレッションテストで使用するために保持されている。インタフェース・アダプタは一種のラッパー関数であり、ユーザにとってよりわかりやすく適切なものにするという目的で、コードモジュールのインタフェースの簡素化や調整、敷衍を行う。変数の名前の変更や結合、デフォルト値の設定などを行うこともある。

多重継承

基底クラスの多重継承に対応していないプログラミング言語において、ラッパー関数はそれを模するために使うことも可能である。以下の例は、連結リストとハッシュセットの「継承」Javaクラスの一部である。

public class StackSet implements Stack, Set {

    private LinkedList stack;
    private HashSet set;

    public boolean push(Object o) {
        if (set.add(o)) return stack.push(o);
        else return false;
        }

    public Object pop() {
        Object o = stack.pop();
        set.remove(o);
        return o;
    }

    public boolean contains(Object o) {
        return set.contains(o);
    }

}

ライブラリ関数とシステム・コール

標準Cライブラリにあるような多くのライブラリ関数はシステム・コールの抽象化のためのインタフェースとして機能する。GNU Cライブラリにおけるforkとexecveの関数はこの例である。それらはより低い階層のforkとexecveのシステム・コールをそれぞれ呼び出す。

これは、「system call」という用語や、同様に名付けられたそれらがラッパーしているシステム・コールよりも高い階層のライブラリー呼び出しのことを指す「syscall」という用語の不正確な使用につながる可能性がある。

関連項目

ラッパー・ライブラリ

アダプタ・パターン日本語版

デコレータ・パターン日本語版

委譲(プログラミング)

転送(オブジェクト指向プログラミング)

・他の言語のための言語結合ラッパー(日本語版

SWIG(Simplified Wrapper and Interface Generator)自動でのラッパー生成(日本語版

入れ子関数

部分適用

参考文献

1. Reselman, Bob; Peasley, Richard; Pruchniak, Wayne (1998). Using Visual Basic 6. Que. p. 446. ISBN 9780789716330.

2. The Java Tutorials

3. Stevens, Richard; Fenner, Bill; Rudoff; Andrew M. (2003). UNIX Network Programming. Addison-Wesley. pp. 5–6, 29. ISBN 9780131411555.

 
PDF
更新日:2017-05-27 11:24:02 shikimi 1  del.icio.usに追加   はてなブックマークに追加   twitterに投稿   facebookでshare
[ 原文 ] https://en.wikipedia.org/wiki/Wrapper_function Creative Commons License この作品は、クリエイティブ・コモンズ・ライセンスの下でライセンスされています。
クリエイティブ・コモンズ・ライセンス
翻訳者ページをみる

この記事の翻訳者

shikimi さんの翻訳記事

Trust on first use

Trust on first use その他の用法については「 Tofu(曖昧さ回避) 」をご覧ください。 Trust On First Use (TOFU)または Trust Upon First Use (TUFU)とは、未知あるいはま…2017-07-09 19:19:20

Cryptocat

Cryptocat -------- 【画像のキャプション】Windows 10でのCryptocat 3.1.24 最初の作成者:Nadim Kobeissi 開発者:Nadim Kobeissiと貢献者たち[1] 最初のリリース:2011年5月19日…2017-06-17 11:11:14

フィリピンにおけるオンラインでの女性の権利を測定する

フィリピンにおけるオンラインでの女性の権利を測定する APC for Foundation for Media Alternatives 2017年4月11日、フィリピン オンラインでの女性の権利をどのように測定すればよい…2017-05-28 11:18:29

ラッパー関数

ラッパー関数 ラッパー関数とは、二次的なサブルーチンの呼び出し[1]や追加のコンピュータ操作をほとんど必要としないシステム・コールを主な目的とした、ソフトウェアライブラリやコ…2017-05-27 11:24:02