第 10回

http://www.xmlpro.org/
↑ 講義資料のダウンロードは ↑
ブログの「講義資料」から
第10回 多態性
参考書:スッキリわかるJava入門 第2版
目次
• 多態性の基礎
• インスタンスのキャスト
• 実用例
• 演習
目次
• 多態性の基礎
• インスタンスのキャスト
• 実用例
• 演習
多態性
同一のメッセージを送っても、
各インスタンスが自身のクラスによって異なる振る舞いをする特性
大雑把なインスタンス
大雑把なインスタンス
大雑把なインスタンス
大雑把なインスタンス
大雑把なインスタンス
大雑把なインスタンス
大雑把なインスタンス
大雑把なインスタンス
・ 抽象クラスやインタフェースは
型として使用することなら可能
・ インスタンスは自身のクラスの継承元である
クラス、抽象クラス、インタフェースの型にも
代入することができる
is-aの関係
Life
Character
PlayableCharacter
Bard
is-aの関係
吟遊詩人は操作可能キャラクターの一種です。
Bard is a PlayableCharacter.
操作可能キャラクターはキャラクターの一種です。
PlayableCharacter is a Character.
キャラクターは生き物の一種です。
Character is a Life.
is-aの関係
is-aの関係
呼び出せるメソッドの変化
呼び出せるメソッドの変化
呼び出せるメソッドの変化
呼び出せるメソッドの変化
型 インスタンス名 = new クラス名(引数リスト);
どのメソッドが
呼べるかを決定する
呼び出せるメソッドの変化
呼び出せるメソッドの変化
呼び出せるメソッドの変化
呼び出せるメソッドの変化
呼び出せるメソッドの変化
型 インスタンス名 = new クラス名(引数リスト);
どのメソッドが
呼べるかを決定する
メソッドが呼ばれたら
どう動くかを決定する
目次
• 多態性の基礎
• インスタンスのキャスト
• 実用例
• 演習
キャスト
インスタンスのキャスト
インスタンスのキャスト
目次
• 多態性の基礎
• インスタンスのキャスト
• 実用例
• 演習
配列
配列
引数
引数
目次
• 多態性の基礎
• インスタンスのキャスト
• 実用例
• 演習
演習①
多態性を活かして、異なるクラスのインスタンスを配列にまとめよ。
演習②
多態性を活かして、異なるクラスのインスタンスを引数として受け取れ
るメソッドを作成せよ。