先週でクラスの定義や、データ構造(オブジェクト)とそれに対する手続き(メソッド)を、 まとめて扱う(クラス)について紹介したので、その書き方の復習から、 コンストラクタ・デストラクタなどの説明を行う。
配布資料として、上記のものを示し、構造体表記、クラス導入、 クラスには初期化などが重要であり、コンストラクタ・デストラクタなどの使い方を解説する。
今年は、参考としてC++による演算子オーバーライドなども紹介する。 これらの演算子の再定義は、Javaでは実装されていないし、 オブジェクト指向に必須の機能ではない。 しかし、オブジェクト指向に興味を持って参考書を読む際には、 「こんなこともできる…」という点で知っていてほしい。 さらに、オブジェクト指向に「どっぷり漬かる」のであれば、 最終的にSTLとかboostとかに興味を持ったら、読みこなすための重要な知識であろう。
最後に、複素数クラスの直交座標系データを、 利用者に解からないように内部データを極座標に書き換えることも可能という点を示す。 特に、プログラムやデータ構造をより良く書き換える作業を一般的に、 「リファクタリング」と呼ぶことを説明する。 オブジェクト指向が正しく適用されていれば、クラスの利用者側にリファクタリングしていることを 気づかせないまま、改良していくことが可能ということを解説する。