オブジェクト指向プログラミング2025年講義録
オブジェクト指向プログラミング・ガイダンス2025 構造体からクラスの導入 複素数クラスとC++の演算子オーバーロード 複素数クラスによる演習 派生と継承 派生と継承と仮想関数 抽象クラス(純粋仮想基底クラス) 派生や集 […]
オブジェクト指向とソフトウェア工学
オブジェクト指向プログラミングの最後の総括として、 ソフトウェア工学との説明を行う。 トップダウン設計とウォーターフォール型開発 ソフトウェア工学でプログラムの開発において、一般的なサイクルとしては、 専攻科などではどこ […]
UMLと振る舞い図
前回の講義で説明した構造図に続いて、処理の流れを説明するための振る舞い図の説明。 講義の後半は、UML作成のレポートの課題時間とする。 振る舞い図 参考資料をもとに振る舞い図の説明を行う。 ユースケース図 ユーザなど外部 […]
UMLと構造図
UMLの構造図の書き方の説明。 詳しくは、参考ページのUML入門などが、分かりやすい。 クラス図 クラス図は、構造図の中の基本的な図で、 枠の中に、上段:クラス名、中段:属性(要素)、下段:メソッド(関数)を記載する。 […]
UMLの概要
巨大なプロジェクトでプログラムを作成する場合、設計の考え方を図で示すことは、直感的な理解となるため重要であり、このために UML がある。以下にその考え方と記述方法を説明していく。 プログラムの考え方の説明 今まで、プロ […]
派生や集約と多重継承
派生や継承について、一通りの説明が終わったので、データ構造(クラスの構造)の定義の方法にも様々な考え方があり、どのように実装すべきかの問題点を考えるための説明を行う。その中で特殊な継承の問題についても解説する。 動物・鳥 […]
抽象クラス(純粋仮想基底クラス)
前回説明した仮想関数では、基底クラスから派生させたクラスを作り、そのデータが混在してもクラスに応じた関数(仮想関数)を呼び出すことができる。 この仮想関数の機能を逆手にとったプログラムの記述方法として、抽象クラス(純粋仮 […]
派生と継承と仮想関数
前回の派生と継承のイメージを改めて記載する。 // 基底クラス class Person { private: char name[ 20 ] ; int age ; public: Person( const char […]
派生と継承
隠ぺい化の次のステップとして、派生・継承を説明する。オブジェクト指向プログラミングでは、一番基本となるデータ構造を宣言し、その基本構造に様々な機能を追加した派生クラスを記述することでプログラムを作成する。今回は、その派生 […]
複素数クラスによる演習
複素数クラスの例 隠蔽化と基本的なオブジェクト指向の練習課題として、前回の授業では、直交座標系による複素数クラスを示した。今回の授業では、演習を行うとともに直交座標系を極座標系にクラス内部を変更したことにより、隠蔽化の効 […]