[解決済み] phpの関数のオーバーロードとオーバーライドとは何ですか?
2022-06-15 19:43:09
質問
PHPで、関数のオーバーロードと関数のオーバーライドとはどういう意味ですか?また、両者の違いは何ですか?
どのように解決するのですか?
オーバーロード は、類似のシグネチャを持ち、かつ異なるパラメータを持つ関数を定義することです。 オーバーライド は派生クラスにのみ当てはまり、親クラスがメソッドを定義し、派生クラスが オーバーライド そのメソッドをオーバーライドしたい場合です。
PHP では、マジックメソッドを使ってのみメソッドをオーバーロードすることができます。
__call
.
の例です。 をオーバーライドする :
<?php
class Foo {
function myFoo() {
return "Foo";
}
}
class Bar extends Foo {
function myFoo() {
return "Bar";
}
}
$foo = new Foo;
$bar = new Bar;
echo($foo->myFoo()); //"Foo"
echo($bar->myFoo()); //"Bar"
?>
関連
-
[解決済み】「初期通信パケットの読み込み」でMySQLサーバーに接続できなくなり、システムエラーになる。0
-
[解決済み】メッセージ。Trying to access array offset on value of type null [重複]配列のオフセットにアクセスしようとしています。
-
[解決済み】/var/www/htmlとは何ですか?[クローズド]
-
MacでPHPを実行した際に、メモリサイズが134217728バイトも消費される問題の解決方法について
-
[解決済み] どのような場合に '$this' よりも 'self' を使うべきですか?
-
[解決済み] パブリック、プライベート、プロテクトの違いは何ですか?
-
[解決済み] ポリモーフィズム vs オーバーライド vs オーバーローディング
-
[解決済み】PHPの'foreach'は実際どのように動作するのですか?
-
[解決済み】PHPパスワードのハッシュとソルトの安全性について
-
[解決済み] リファレンス - このシンボルはPHPで何を意味するのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Notice: 非オブジェクトのプロパティを取得しようとしているエラー
-
[解決済み】「初期通信パケットの読み込み」でMySQLサーバーに接続できなくなり、システムエラーになる。0
-
[解決済み】DateTimeクラスのオブジェクトを文字列に変換できない
-
[解決済み】警告。数値でない値に遭遇しました
-
[解決済み] * vchiqインスタンスを開くのに失敗しました。
-
[解決済み】file_get_contents( )が動作しない。
-
[解決済み】PHPのクラスが見つからないが、インクルードされている
-
thinkphp5 timestamp 非整形の数値に遭遇した。
-
[解決済み] libapache2-mod-php7 パッケージの場所がわからない
-
[解決済み】PHPの関数のオーバーローディング