ここではあらたに SimpleNotepad クラスを継承した GreatNotepad クラスを作成します。

GreatNotepad クラスの仕様は以下のとおりです。

メソッド 処理内容
save $filename 引数で受け取ったファイル名に $input_string プロパティの内容を保存する

GreatNotepad クラスにはプロパティやコンストラクタの定義はありません。

問題 8

次のプログラム( notepad_runner8.php )があります。

notepad_runner8.php

<?php
require_once("GreatNotepad.php");

try {
    $notepad = new GreatNotepad();
    $notepad->type("one");
    $notepad->type("two");
    $notepad->type("three");
    $notepad->show();
    $notepad->save("my_file.txt");
} catch (Exception $e) {
    echo $e->getMessage() . PHP_EOL;
}

次の実行結果のとおり動作するプログラム( GreatNotepad.php )を作成してください。

実行結果

$ php notepad_runner8.php
one two three

カレントフォルダに my_file.txt ファイルが以下のとおり生成されることも確認してください。

one two three

GreatNotepad.php

# TODO define GreatNotepad class.

SimpleNotepad クラスを継承した GreatNotepad クラスを定義します。