ホームページ >バックエンド開発 >PHPチュートリアル >allowoverride PHP および JAVA のオーバーロードとオーバーライドの概要
オーバーロード: 同じクラス内で、同じ名前で戻り値やパラメーターの型が異なる関数をオーバーロードと呼びます。
オーバーライド: 同じ名前、同じ戻り値の型、同じパラメーターを持つ関数はオーバーライドと呼ばれます。これは、サブクラスによる親クラスのメソッドのオーバーライドを指します。
PHP はメソッドと演算子のオーバーロードをサポートしていません。 JAVA は演算子のオーバーロードをサポートしていません (ただし、「+」は実際には演算子のオーバーロードです)。
コードをコピーします コードは次のとおりです:
Class Father {
public function fmeth1() {
echo "fmeth1()...
"
}
//public function fmeth1($str1) {
// echo "fmeth1() with $str1...
"
//}
}
Class Son extends Father {
public function fmeth1() {
echo "fmeth1 () in Son...
"
}
}
$s->fmeth1()> の fmeth1 メソッド親クラス オーバーロードすることはできません。
Javaのオーバーロードとオーバーライドのケースの説明
Java言語仕様では、メソッドの特性にはメソッドの名前、パラメータの数と型のみが含まれ、メソッドの戻り値の型、パラメータのパラメータは含まれません。スローされた名前と例外。 Java コンパイラがメソッドのオーバーロードをチェックするとき、これらの条件に基づいて 2 つのメソッドがオーバーロードされたメソッドであるかどうかを判断します。ただし、Java コンパイラがメソッドの置換をチェックするとき、2 つのメソッド (スーパータイプとサブタイプ) によってスローされる戻り値の型と例外が同じかどうかをさらにチェックします。
質問番号: 3
class A { protected int method1(int a, int b) { return 0 } }
どれが有効ですか?クラス A を拡張するクラス内ですか (2 つ選択してください)
A. public int method1(int a, int b) { return 0;
C . private int method1(int a, long b) { return 0; }
D. public short method1(int a, int b) { return 0; } 0; }