オブジェクト指向プログラミングC++演習講座

概要

組込系ソフトウエア開発の世界においても、マイコンの高性能化、メモリの低価格化を受け、オブジェクト指向開発が採用されることも多くなってきています。しかしUMLによる設計やC言語による実装は出来ても、オブジェクト指向言語による開発は出来ない方が多いのではないでしょうか?


本講座は、代表的なオブジェクト指向言語であるC++言語を対象に、プログラミング言語研修であるような文法中心でなく、C言語にはないC++言語の実装方法、UMLによる設計内容の実装方法といった実践的な内容を演習中心に行い、オブジェクト指向開発でのC++言語の利用法を習得する講座になっています。

日数

3日~4日

時間

21時間~24時間 (4日間の場合、10:00 ~ 17:00)

教育受講料(税込)

オンサイト : 1,320,000円
※想定受講者数20名。受講者数が20名を超える場合は費用が変わります。

対象者

オブジェクト指向開発の実装をC++言語で行う方

前提条件
  • UMLの基本的な表記法を習得している方
  • C言語によるソフトウエア開発の経験者(2年以上が望ましい)
到達目標
  • UMLで記述されたモデルに従って、C++言語にてプログラミングが行える。
  • C++言語とC言語との違いを第三者に説明できる。
内容

形式:講義+演習(グループ)
 

【第1日目】
 

1. はじめに
講義の目的・目標を説明し、受講者が理解して欲しいこと、また進行の目安について説明します。
 

2. OOP概要
構造化とオブジェクト指向の違いをモデリングと言語の観点で解説します。
 

3. 基本データ型と関数定義
C++言語で利用できる型の解説をします。演習環境(Visual Studio)の環境に慣れる演習を行います。
 

4. 自動変数と動的オブジェクト確保
C言語と比較しながらC++言語の自動変数と動的オブジェクト確保の解説をします。〔演習〕
 

5. クラスの定義
UML表現のクラスをC++言語表現にする方法とインスタンス生成を解説します。〔演習〕
 

6. カプセル化
カプセル化をC++言語で表現する方法とアクセス制御を解説します。〔演習〕
 

 

【第2日目】
 

7. オブジェクトの生成と消滅
コンストラクタ、デストラクタ、初期化子を解説します。〔演習〕
 

8. オブジェクトの生存期間
3種類のライフサイクル、クラス変数とクラスメソッド、thisポインタを解説します。〔演習〕
 

9.関連とメッセージ送信
UML表現(クラス図、シーケンス図)のマッピング方法を解説します。〔演習〕
 

10.集約、コンポジション、依存
UML表現の集約・コンポジション・依存のマッピング方法を解説します。〔演習〕
 

11.その他の関連
UML表現の多重度の関連、双方向の関連、関連クラスのマッピング方法を解説します。〔演習〕
 

 

【第3日目】
 

12.継承
UML表現の継承関係をC++言語の継承へのマッピング方法を解説します。コンストラクタ・デストラクタの呼び出し順、基底クラスの参照、自動ポインタも解説します。〔演習〕
 

13.関数オーバーライド、仮想関数
UML表現の多相性のマッピング方法、関数のオーバーライド、仮想関数を解説します。〔演習〕
 

14.純粋仮想関数
UML表現のインタフェース、抽象クラスのマッピング方法、純粋仮想関数を解説します。〔演習〕
 

15.インタフェースクラス
インタフェースの利点、UMLの実現関係とインタフェースクラスを解説します。
 

16.委譲
UML表現の委譲のマッピング方法、継承から委譲への変形を解説します。〔演習〕
 

 

【第4日目】
 

17.オブジェクトの状態遷移
UML表現のステートマシン図からのマッピング方法を解説します。〔演習〕
 

18.参照
参照型の意味とその利用方法を解説します。〔演習〕
 

19.コピーコンストラクタ、代入演算子
コピーコンストラクタ、代入演算子の意味とその利用方法を解説します。〔演習〕
 

20.ストリーム、const
ストリーム、constの意味とその利用方法を解説します。〔演習〕
 

21.コレクションクラス
コレクションクラスの意味とその利用方法を解説します。〔演習〕
 

22.テンプレート、STL、auto_ptr
テンプレートの概念、STLの概要、auto_ptrの概要を解説します。〔演習〕
 

23.名前空間
名前空間の概要、利用方法を解説します。
 

24.パッケージの実装
C++のパッケージ実装の概要、UML標記との関係を解説します。〔演習〕
 

25.デザインパターン
デザインパターンの概念、Observer/Proxyパターンの実装例を解説します。