015-001-007
メソッドパラメータでのポリモーフィズム
上級
問題説明
メソッドパラメータでのポリモーフィズム
この問題では: Printerクラスに親クラス型(Document)のパラメータを受け取るprintメソッドを定義し、標準入力から文書の種類を読み取り、PDFやWordDocumentなどの適切な子クラスインスタンスを生成してポリモーフィズムを活用するプログラムを作成します。
学習目標: メソッドのパラメータで親クラス型を使用することで柔軟性を持たせる方法を理解する
概要
親クラス型をパラメータに持つメソッドを定義し、入力に応じて異なる子クラスのインスタンスを渡せることを確認するプログラムを作成してください。
仕様
- Printerクラスにprint(Document doc)メソッドを定義
- DocumentクラスにgetContent()メソッドを定義("Generic document"を返す)
- PDFとWordDocumentクラスでDocumentを継承しgetContent()をオーバーライド
- Scannerで文書数Nを読み取り、続けてN行の文書タイプ("PDF"または"Word")を読み取る
- 各タイプに応じたインスタンスを生成してPrinterで印刷する
入力形式
N
type1
type2
...
- 1行目: 文書の数 N
- 2行目以降: 各文書のタイプ("PDF" または "Word")
出力形式
Printing: PDF content
Printing: Word content
