0
0

無名クラス

Posted at

はじめに

無名クラスについてまとめる

無名クラス

その名の通り、名前を持たないクラス。
定義したクラスを後から利用しないことがわかっているクラスを定義するのに利用する。

メリット

・コードをシンプルに表現でき、見た目にも関連性を把握しやすい。
・式が許されている場所であれば、どこにでも記述できる。
・名前がないので、そもそも名前が競合する恐れがない。

参考コード

executeメソッドでは、あらかじめ決められた前後の処理を挟んで、与えられた任意の処理を実行できるものとする。

class_anonymous.php
interface Runnable {
    function run();
}

class MyClass {
    public function execute(Runnable $rc) : void {
        // ダミー処理(本来はなんらかの前処理を実装)
        print 'start...';
        // 利用者から指定された処理を実行
        $rc->run();
        // ダミー処理(本来はなんらかの後処理を実装)
        print 'end...';
    }
}

$cls = new MyClass();
$cls->execute(new class implements Runnable {
    public function run() : void {
        print 'process...';
    }
});

// 実行結果:start...process...end...
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0