« PHP 8.3 Manual トップ
著作権 »
per page, with , order by , clip by
Results of 1 - 2 of about 2 for MoreErrorCode (0.001 sec.)
列挙型が継承できない理由 9357
« 列挙型をシリアライズする 例 » PHP Manual 列挙型(Enum) 列挙型が継承できない理由 検索 列挙型が継承できない理由 クラスは、メソッドの使い方を約束(契約)するものです: <?php class A {} class B extends A {} function foo ( A $a ) {} function bar ( ... としましょう: <?php // 列挙型が final でなかったと仮定した、思考実験のコード // このコードは実際には動作しないので注意 enum MoreErrorCode extends ErrorCode { case PEBKAC ; } function fot ( MoreErrorCode $errorCode ) { quux ( $errorCode ); } fot ( MoreErrorCode ... クを通過します。 上のコードの問題点は、 quux() 関数の match 式が全ての case をカバーしてはいないということです。 なぜなら、 MoreErrorCode::PEBKAC がカバーされていないので、match 式が例外をスローするからです。 こうした理由から、列挙型は final 扱いであり、継承で ... きなくなっています。 関連キーワード: 列挙型 継承 case コード ErrorCode 理由 クラス function quux errorCode カバー match MoreErrorCode メソッド 契約 php 全て class extends foo ...
https://man.mtool.work/php/8.3/language.enumerations.object-differences.inherita...
列挙型が継承できない理由 9357
« 列挙型をシリアライズする 例 » PHP Manual 列挙型(Enum) 列挙型が継承できない理由 検索 列挙型が継承できない理由 クラスは、メソッドの使い方を約束(契約)するものです: <?php class A {} class B extends A {} function foo ( A $a ) {} function bar ( ... としましょう: <?php // 列挙型が final でなかったと仮定した、思考実験のコード // このコードは実際には動作しないので注意 enum MoreErrorCode extends ErrorCode { case PEBKAC ; } function fot ( MoreErrorCode $errorCode ) { quux ( $errorCode ); } fot ( MoreErrorCode ... クを通過します。 上のコードの問題点は、 quux() 関数の match 式が全ての case をカバーしてはいないということです。 なぜなら、 MoreErrorCode::PEBKAC がカバーされていないので、match 式が例外をスローするからです。 こうした理由から、列挙型は final 扱いであり、継承で ... きなくなっています。 関連キーワード: 列挙型 継承 case コード ErrorCode 理由 quux errorCode カバー match MoreErrorCode 契約 extends 変性 enum final 列挙 シリアライズ Enum 使い方 約束 安全 マジック 期待 一方 ...
https://man.mtool.work/php/8.3/language.enumerations.object-differences.inherita...
PREV 1 NEXT