10
抽抽 抽抽抽 抽抽抽抽抽 GF2 抽抽抽抽 抽抽抽抽 抽抽抽抽 抽抽抽抽 2015 / 01 / 12

About abstract class

Embed Size (px)

Citation preview

Page 1: About abstract class

抽象クラス

抽象クラスGF2

大沼勇吾長瀬義剛増嶋涼平松田優大

2015 / 01 / 12

Page 2: About abstract class

◆ 目次

• 抽象クラスとは

• 具体例

• メリット

• 使い方

• 注意

• まとめ

Page 3: About abstract class

◆ 抽象クラスとは

 クラスを継承する時に派生クラスにてオーバーライドすること

を前提として基底クラスで仮想関数を定義した時に、ひとつでも

純粋仮想関数があった場合のクラスのことを指す

①抽象クラス

Page 4: About abstract class

◆ 具体例 

社員クラス

- 名前

+ 出勤 ()+ 働く ()+ 退勤 ()

働くのは同じでも

役職によって処理は違

う!!

②抽象クラス

Page 5: About abstract class

◆ 具体例 解決方法

1.クラスをその都度個別で作る 2.引数を持たせ、処理を分ける

改変時に他クラスへの

影響を抑えられる

クラスを使用する側からみて

扱いが楽である

面倒であり、

ミスをしても分かりづらい

改変時に全体に

影響を及ぼす可能性がある

③デメリット

抽象クラス

メリット

Page 6: About abstract class

◆ 具体例 解決方法 真

社員クラス

- 名前

+ 出勤 ()← 具象メソッド+ 働く ()← 抽象メソッド+ 退勤 ()← 具象メソッド

社長クラス

+ 働く () の実装

一般社員クラス

+ 働く () の実装※ 抽象メソッド化により派生クラス

 でのメソッドの実装を強制できる

※ それぞれの役職に

 合わせた処理を

 実装する

④抽象クラス

Page 7: About abstract class

◆ メリット

• クラスを個別で作ることができ、

それぞれの共通のメソッドは書かなくてもよくなる

つまり、楽になる

• 抽象メソッドである「働く () 」が保障される

• 派生クラスが「社員クラス型」で統一した呼び出しができる

⑤抽象クラス

Page 8: About abstract class

◆ 使い方

⑥抽象クラス

Page 9: About abstract class

◆ 注意

抽象クラスは未完成なクラスのため

オブジェクトを作れません。

なので、継承して

しっかりオーバーライドしましょう。

⑦抽象クラス

Page 10: About abstract class

◆ まとめ

便利で安全。

⑧抽象クラス