タグ

ブックマーク / wisdom.sakura.ne.jp (7)

  • シーケンス図

    オブジェクト生存線 相互作用図のうち、時系列を表現するにはシーケンス図を用います シーケンス図では、図の上から下へ、垂直に時間が進むと仮定します 水平に、異なるオブジェクトが配列され、特定の時間に発生する操作を記述します つまり、垂直に時間、水平にオブジェクトを記述する 2 次元グラフなのです まず、図に記述するオブジェクトを左上から右に向かって順に列挙します オブジェクトの記法は静的構造図のオブジェクトと同一です ただし、操作や属性を記述する必要はありません シーケンス図は時間の流れが存在するため、オブジェクトの生存時間を記述できます オブジェクトの長方形の下線部中央から、図の下に向かって垂直破線を引いてください これをオブジェクト生存線と呼びます これは、シーケンス図におけるオブジェクトと、オブジェクト生存線の例です しかし、破線の段階では、オブジェクトはまだ動作していません オブジェ

  • アダプタクラス

    空実装の簡易化 代行イベントモデルの概念は、前回のイベントプログラムでつかめたと思います しかし、前回のプログラムで多くの方が感じたと思われますが たとえ必要としないイベントであろうと、インターフェイスをインプリメントした場合 空実装しなくてはコンパイルできませんでした この空実装は、時として非常に面倒になります さらに、ソースも長くなり可読性の低下にもつながってしまいます そこでアダプタクラスなるものが、各イベントに用意されています アダプタクラスは、目的のインターフェイスをインプリメントしているクラスで このクラスを拡張し、メソッドをオーバーライドすることで目的のプログラムを作ることができます たとえばMouseAdapterクラスは、MouseListenerクラスをインプリメントしています このクラスはメソッドを定義していない、抽象クラスです MouseMotionListener

  • 抽象クラス

    純粋仮想関数 仮想関数の柔軟性とその機能は前回説明した通りですが 仮想関数はその機能から、基クラスで確定させたくない場合があります 再定義して使用することを前提として仮想関数では 基クラスで定義しても、使わない場合があるはずです そのような場合は純粋仮想関数として宣言します virtual type function(arg-list) = 0; type function(arg-list) は、通常の関数の宣言です いつもと違うのは、これに0を代入するという奇怪な行為です 仮想関数に上の構文を用いると、定義がないことを表しています この仮想関数は、このクラスの派生クラスで再定義されることを意味し このクラスでは、この仮想関数を一切定義しません つまり、この関数は再定義されなければ使えないということです #include <iostream> using namespace std;

  • printf()関数

    フォーマット指定子 これまで、何らかのデータを出力するのに標準で用いてきて かつC言語を学習するのに、もっとも最初に習う関数こそprintf()関数ですね しかし、この関数はこれ一つで文字列から数値まで あらゆるデータを書式化して表示するという、多機能な一面を持っています 今回は、このprintf()関数の知られざる(?)秘密にせまりたいと思います printf()関数には、ご存知のように多くのフォーマット指定子が存在します フォーマット指定子は%ではじめ、記号で指定します 代表的なものは、文字出力の%c、符号付10進数の%dなどですね しかし、以外と使いなれないものもあるかもしれませんので いま一度、フォーマット指定子の一覧を見てみましょう #include <stdio.h> #define STR "Kitty on your lap" int main() { int i; pri

    TakahashiMasaki
    TakahashiMasaki 2009/04/06
    (いっつもわすれるやつ %07d
  • Java AWT 入門

    この講座は、簡単な Java プログラム開発経験者を対象とします Java 言語の基的な知識が必要です

  • テンプレート関数

    汎用関数 ここでは、C++言語の高い柔軟性の実現の一つ テンプレートについて、説明していきます テンプレートの概念は、オブジェクト指向で名高い Java にすらない、すばらしい機能です プログラムでは、内部処理は同じだがデータ型が異なる関数が頻繁に出てきます とくにアルゴリズムにおける関数では、その様なケースが多いです 全てのデータ型の関数をオーバーロードでサポートするのも一つの方法ですが この作業は面倒で、しかもソースの可読性も低下させてしまいます そこで、この作業を全てコンパイラに任せてしまうのが汎用関数なのです 汎用関数は、各データ型を受け取ることができます しかし、オーバーロードとは異なり内部処理は同じです このような汎用関数をテンプレート関数とも呼び 次のように template キーワードを用いて宣言します template <class type> function-decl

    TakahashiMasaki
    TakahashiMasaki 2006/08/12
    テンプレート概説
  • JavaScript入門 : WisdomSoft

    ここで紹介されるスクリプトは JScript です Internet Explorer 5 以上または最新の WSH で動作確認しています スクリプトエンジンによっては、正常に動作しない可能性があります

  • 1