Upload
ryohei-masujima
View
53
Download
0
Embed Size (px)
Citation preview
抽象クラス
抽象クラスGF2
大沼勇吾長瀬義剛増嶋涼平松田優大
2015 / 01 / 12
◆ 目次
• 抽象クラスとは
• 具体例
• メリット
• 使い方
• 注意
• まとめ
◆ 抽象クラスとは
クラスを継承する時に派生クラスにてオーバーライドすること
を前提として基底クラスで仮想関数を定義した時に、ひとつでも
純粋仮想関数があった場合のクラスのことを指す
①抽象クラス
◆ 具体例
社員クラス
- 名前
+ 出勤 ()+ 働く ()+ 退勤 ()
働くのは同じでも
役職によって処理は違
う!!
②抽象クラス
◆ 具体例 解決方法
1.クラスをその都度個別で作る 2.引数を持たせ、処理を分ける
改変時に他クラスへの
影響を抑えられる
クラスを使用する側からみて
扱いが楽である
面倒であり、
ミスをしても分かりづらい
改変時に全体に
影響を及ぼす可能性がある
③デメリット
抽象クラス
メリット
◆ 具体例 解決方法 真
社員クラス
- 名前
+ 出勤 ()← 具象メソッド+ 働く ()← 抽象メソッド+ 退勤 ()← 具象メソッド
社長クラス
+ 働く () の実装
一般社員クラス
+ 働く () の実装※ 抽象メソッド化により派生クラス
でのメソッドの実装を強制できる
※ それぞれの役職に
合わせた処理を
実装する
④抽象クラス
◆ メリット
• クラスを個別で作ることができ、
それぞれの共通のメソッドは書かなくてもよくなる
つまり、楽になる
• 抽象メソッドである「働く () 」が保障される
• 派生クラスが「社員クラス型」で統一した呼び出しができる
⑤抽象クラス
◆ 使い方
⑥抽象クラス
◆ 注意
抽象クラスは未完成なクラスのため
オブジェクトを作れません。
なので、継承して
しっかりオーバーライドしましょう。
⑦抽象クラス
◆ まとめ
便利で安全。
⑧抽象クラス