final修飾子
final修飾子をつけることができるのはクラスとメソッドのみです。クラスにfinal修飾子をつけると、そのクラスは継承できません。
メソッドにfinal修飾子をつけると、そのメソッドは子クラスでオーバーライドできません。
コンストラクタ、アクセッサもメソッドの一種なのでfinal修飾子をつけることがきます。
クラスにfinal修飾子をつけると、そのクラスは継承できません。
<?php final class ParentClass { } //継承するとエラーになります。 class ChildClass extends ParentClass { } ?>
メソッドにfinal修飾子をつけると、そのメソッドは子クラスでオーバーライドできません。
<?php class ParentClass { public final function Method(){} } class ChildClass extends ParentClass { //オーバーライドするとエラー public function Method() {} } ?>
コンストラクタにfinal修飾子をつけると、そのコンストラクタは子クラスでオーバーライドできません。
<?php class ParentClass { public final function __construct(){} } class ChildClass extends ParentClass { //オーバーライドするとエラー public function __construct(){} ?>
0 件のコメント:
コメントを投稿