エンジニアのひよこ_level10

【毎日更新!】新卒3年目エンジニアブログです!

【PHP】abstractクラスにfinalオプションを付けるとどうなる?【718日目】

abstractクラス

抽象クラス。

なんで抽象クラスと呼ばれるものかは割愛。

このままでは実態がなく、インスタンス化出来ないので、継承とかをして具体的なクラスにしないといけない。

final

これ以上クラスが変動することはないよというオプション。

変数なら代入がされず、クラスなら継承が出来ない。

矛盾が発生する

これは矛盾が発生している。

作っても、クラスの価値がないのでは。

ではどうなるか

エラーが発生する

php > abstract final class uiro {}

Fatal error: Cannot use the final modifier on an abstract class in php shell code on line

まあ、動かないですよね。

ということで、意味のないものはちゃんとPHPで弾いてもらえるそうです。