ホームページ バックエンド開発 PHPチュートリアル メソッドのオーバーロードとオーバーライドの違い メソッドのオーバーロードの利点 オーバーロード メソッドのオーバーロード 戻り値

メソッドのオーバーロードとオーバーライドの違い メソッドのオーバーロードの利点 オーバーロード メソッドのオーバーロード 戻り値

Jul 29, 2016 am 08:52 AM
メソッドのオーバーロード

回答 1:

基本的な違い:
書き換え (リファクタリング) は非常に直感的です。サブクラスは、同じ名前、パラメーター、戻り値を持つ親クラスのメソッドをオーバーライドします。サブクラスによって呼び出されるのは、書き換えられたメソッドのみです。
オーバーロード、同じ名前です。

答え 2:

1. オーバーロード:
メソッド名は同じですが、パラメーターリストが異なります
2. 書き換え:
上書きとも呼ばれ、同じものを使用してサブクラス内にメソッドを定義することを意味します。親クラスのメソッドとしての名前 パラメータ リスト メソッド。サブクラスは親クラスのメソッドを継承するため、書き換えとは親クラスから継承したメソッドを再定義し、メソッド内のコードを書き直すことを意味します。


回答 3:

重写是子类的方法覆盖父类的方法,要求方法名和参数都相同<br>重载是在同一个类中的两个或两个以上的方法,拥有相同的方法名,但是参数却不相同,方法体也不相同,最常见的重载的例子就是类的构造函数,可以参考API帮助文档看看类的构造方法<br>
ログイン後にコピー

回答 4:

1. オーバーライドは継承する必要があり、オーバーロードは必要ありません。
2. オーバーライドされたメソッド名は同じ数のパラメーターと互換性のあるパラメーターの型を持ちます。オーバーロードされたメソッド名は同じ名前ですが、異なるパラメーター リストを持ちます。
3. オーバーライドされたメソッド修飾子は親クラスのメソッド以上であり、オーバーロードは修飾子とは何の関係もありません。
4. 書き換えでは、親クラスによってスローされない一般例外はスローできませんが、実行時例外はスローできます

以上、メソッドのオーバーロードと書き換えの違いについて、メソッドのオーバーロードの内容も含めて紹介しましたが、PHPチュートリアルに興味のある友人の参考になれば幸いです。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Go 言語がメソッドのオーバーロードの設計概念をサポートしていないのはなぜですか? Go 言語がメソッドのオーバーロードの設計概念をサポートしていないのはなぜですか? Apr 04, 2024 am 09:00 AM

Go 言語は、その設計思想が単純さ、同時実行性、型安全性を重視しているため、メソッドのオーバーロードをサポートしていません。メソッドのオーバーロードにより、名前の競合、複雑な型システム、コードの混乱が生じる可能性があります。これを補うために、Go 言語では、メソッドのオーバーロードの機能と同様に、名前は同じでパラメーターの型が異なる関数を同じパッケージ内に作成できる関数が提供されています。

Go言語でメソッドのオーバーロードが不可能な理由と解決策 Go言語でメソッドのオーバーロードが不可能な理由と解決策 Apr 03, 2024 pm 12:33 PM

Go 言語は、静的型チェックの複雑さ、明確さの喪失、インターフェイスとの非互換性のため、メソッドのオーバーロードをサポートしていません。代替手段には、関数のオーバーロード、インターフェイス メソッド、およびポリモーフィズムが含まれます。具体的には、関数のオーバーロードにより、異なるパラメーター リストを持つ同じ名前の関数の作成が可能になり、インターフェイス メソッドはインターフェイスを使用してメソッドを定義し、異なる型で実装し、ポリモーフィズムは型変換とアサーションを使用して、異なる型のパラメーターを持つオブジェクト メソッドを実装できます。 。

Go言語でメソッドのオーバーロードを実装する方法 Go言語でメソッドのオーバーロードを実装する方法 Apr 03, 2024 pm 12:15 PM

メソッドのオーバーロードは Go 言語ではサポートされていませんが、インターフェイス シミュレーションは使用できます。メソッドのオーバーロード手順: 1. 考えられるすべてのシグネチャを含むインターフェイスを作成します; 2. インターフェイスを実装するために、異なるシグネチャを持つ複数のメソッドを実装します。

Go 言語におけるメソッドのオーバーロードの問題についての詳細な議論 Go 言語におけるメソッドのオーバーロードの問題についての詳細な議論 Apr 03, 2024 pm 01:36 PM

Go 言語はダイレクト メソッドのオーバーロードをサポートしていませんが、インターフェイスを使用して同様の関数をシミュレートします。インターフェイスはメソッドのセットを定義し、型はインターフェイスのメソッドを実装することによってオーバーロードをシミュレートします。異なるインターフェイスを使用して、異なるパラメーター リストを持つ同じメソッドを定義し、これらのインターフェイスを実装する型を作成することで、メソッドのオーバーロードの効果を実現します。

Golang関数のメソッドオーバーロード解析 Golang関数のメソッドオーバーロード解析 May 16, 2023 am 08:36 AM

Golang では、関数名が一意であり、同じスコープ内で同じ名前の 2 つの関数を定義することはできないため、関数のオーバーロード (オーバーロード) はサポートされていません。ただし、Golang は、メソッド オーバーロードの代替手段であるメソッド オーバーロードを提供します。メソッドのオーバーロードは、クラス内に同じ名前のメソッドを定義しますが、それらのパラメータリストは異なります。この記事では、Golang のメソッドのオーバーロードについて詳しく学びます。何

Java 関数のオーバーロード メカニズムで最も一致するメソッドを決定するにはどうすればよいですか? Java 関数のオーバーロード メカニズムで最も一致するメソッドを決定するにはどうすればよいですか? Apr 26, 2024 am 09:06 AM

Java 関数のオーバーロードの一致ルールは次のとおりです。 完全一致: パラメータのタイプと番号が正確に一致します。 可変パラメータ: 可変パラメータ メソッドは、任意の数またはタイプのパラメータに一致します。 パッケージ化タイプと元のタイプの変換: 基本タイプとパッケージ化タイプは相互に自動的に変換できます。ロードされたボックス化/アンボックス化: 基本型の値とラップされた型のオブジェクトは、派生クラスの型に自動的に変換できます: 派生クラスのオブジェクトは、基本クラスの型パラメーターと一致できます

Go でメソッドのオーバーロードをエレガントに処理するための代替手段 Go でメソッドのオーバーロードをエレガントに処理するための代替手段 Apr 03, 2024 am 10:15 AM

Go 言語にはメソッドのオーバーロードはありませんが、代替手段を使用して同様の動作を実現できます。 関数変数: さまざまなパラメータのセットを持つ関数を定義し、それらを変数に格納し、必要に応じて適切な関数を呼び出します。インターフェイス タイプ: 異なるパラメーター セットを持つ複数のメソッドを含むインターフェイス タイプを定義し、特定の動作を提供するインターフェイスを実装します。ネストされたタイプ: メソッドをネストされたタイプにグループ化します。ネストされた各タイプは、異なる数またはタイプの引数を持つ関数を表します。

Golang の同じ名前のメソッドの原理を調べる Golang の同じ名前のメソッドの原理を調べる Feb 23, 2024 pm 10:51 PM

Golang は、プログラマーの生産性を向上させるために Google によって開発されたオープンソースのコンパイル済みプログラミング言語です。メソッドは、特定の型に対して関数を定義できるようにする Golang の重要な概念であり、これらの関数はメソッドと呼ばれます。 Golang では、メソッドは構造体 (struct)、インターフェース (インターフェース)、および特定の型に対して定義できます。構造体またはインターフェイスでメソッドを定義する場合、同じ名前のメソッドを使用できます。つまり、同じ型では同じ名前のメソッドを定義できますが、

See all articles