違い: 1. PHP の class キーワードには、abstract と Final 以外の修飾子を含めることはできませんが、Java では含めることができます。 2. php では new キーワードの後のクラス名は文字列型変数にすることができますが、Java ではそうではありません。 3. 親オブジェクトにアクセスする場合、php はparentを使用し、javaはsuperを使用します。
このチュートリアルの動作環境: Windows7 システム、PHP7.1&&java8 バージョン、DELL G3 コンピューター
PHP は、プロセス指向またはオブジェクト指向の方法でプログラムできる弱い型指定言語です。 Java は厳密に型指定された、純粋にオブジェクト指向の言語です。 2 つの言語はオブジェクト指向の面でいくつかの類似点があり、Java の学習経験があれば、これらのキーワード (クラス、拡張、インターフェイス、実装、最終、パブリック、保護、プライベート、静的) を見るだけで PHP を簡単に学習できます。とても懐かしい感覚があります。
いくつかの点での類似点と相違点を簡単にまとめましたが、私は学者ではなく、実用性のみを追求していますので、間違いがあればご指摘ください。
比較ポイント | 同じ点 | 異なる点 |
---|---|---|
クラス宣言 | すべて class キーワードを使用します。修飾子はabstractとfinalで変更されます。これら2つの修飾子の意味は同じです。 | PHPのclassキーワードにはabstractとfinal以外の修飾子を含めることはできません。Javaのclassキーワードにはpublic、proctected、private修飾子を含めることができます。 Java ファイルにはパブリック クラスを 1 つだけ含めることができます |
インターフェース キーワードを使用します | #上記と同じ | |
extends キーワードを使用、単一継承 | なし | |
extends キーワードを使用 | なし | ##インターフェースの実装 |
なし | クラスのインスタンス化 | |
php の new キーワードの後のクラス名文字列型変数にすることができます、しかし、Java はできません | 親オブジェクトにアクセスすることはできません | |
php ではparentキーワードを使用し、javaではsuperキーワードを使用してください。 キーワード |
修飾子キーワード | ||
---|---|---|
修飾子の動作 | public: クラス内外の両方でアクセス可能、protected: クラスおよびサブクラス内でアクセス可能、private: クラス内でのみアクセス可能 | |
#デフォルト修飾子 | なし | |
インスタンス メンバーのアクセス メソッドとインスタンス メソッド | None | |
を省略できます。 | #比較 3: クラス メンバーとクラス メソッド |
##キーワード | 静的 | |
---|---|---|
このクラスのすべてのインスタンス | なし | |
クラス名::変数または関数名。インスタンス化なしでアクセスされた | #None | |
#比較ポイント |
const | Java は通常、final を使用しますが、PHP は Final を使用できません | |
---|---|---|
なし | アクセスメソッド | |
none |
比較 5: 抽象メソッドと抽象クラスは基本的に同じです。抽象メソッドと抽象クラスは両方とも、abstract キーワードで変更されます。少なくとも 1 つの抽象メソッドを持つクラスは、抽象クラスと呼ばれます。抽象クラスは、サブクラスをインスタンス化したい場合は、親クラスのすべての抽象メソッドを実装する必要があります。比較 6: 書き換え/上書き/オーバーロード サブクラス メソッドは、親クラス メソッドとまったく同じシグネチャを持ち、これを書き換え/上書きと呼びます。 、親クラスのメソッド。サブクラスでは表示されません。 Java は厳密に型指定された言語であるため、オーバーロード メカニズム (同じメソッド名、異なるシグネチャ、呼び出し時に実際のパラメータの型と数値に基づいてどのメソッドが呼び出されるか) を備えています。 PHP は型指定が弱く、そのようなオーバーロードはありませんが、代わりに、マジック メソッド (__get、__set、__unset、__isset、__callStatic) を通じてクラスの属性とメソッドを動的に作成するオーバーロードがあります。推奨学習:php トレーニング |
以上がphpとjavaのオブジェクト指向の違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。