複素数クラスのリファクタリングを通して、隠蔽化を説明。する方法が考えられる。触られてトラブルの元凶となる場合がある。メソッドを指定することもできる。開発中だけ、値のチェック処理を埋め込むなどの使い方もできる。逆に初期化を忘れたオブジェクトは、後々異常動作の元になる。このため、データの初期化を簡単に扱えるようにコンストラクタ(構築子)を用いる。呼び出したい場合がある。いった場合にはデストラクタを用いる。行うことを総称して、隠蔽化(あるいはブラックボックス化)と呼ぶ。影響を少なくできることを示すために複素数クラスを考える。一般的な方法であれば、実部と虚部で以下のように実装するだろう。上記は要素を指定値で初期化する場合の書き方。乗算はそれなりに複雑(という程でもないけど...)になった。複素数を絶対値と偏角で記述することも可能となる。クラス利用者にも影響が大きい。定義しておけば、クラス利用者に内部変更が解らない様にすることができる。これが、隠蔽化の利点である。気軽に行えるようになる。行うことはリファクタリングなどと呼ばれる。テンプレート生成するようにしてみた。本日、学生総会の前に、校長表彰が行われました。その中で、昨年度の学習到達度試験で優秀であった、4EIの山下君などが表彰されました。創造工学の競技部門向けの予備実験として、簡単な画像探索プログラムの実験を行った。処理の内容は、大きな元画像の中から、その一部をクリップした部分を検索するプログラムを動かしてもらった。改良高速化をしてもらうこととした。示して、ppm画像の読み込み処理と、コマンドライン引数を説明。readppm.cxx画像探索プログラムのサンプル前記プログラムがわかった所で、画像探索プログラムのサンプルコードを示す。画素のRGBのズレの合計スコアの最小の場所を記憶させる手法。ppmsearch.cxx自宅マシンで動かすと、600×400程度の画像の中から、100×100程度の画像を検索するのに、40秒ほどかかる。実験では、動作確認のあと、処理の高速化をしてもらった。ぼけた画像でも正しく動くのか試してもらった。Gmail宛に送ってるけど、迷惑メールに分類されてた。