違い: 1. PHP の class キーワードには、abstract と Final 以外の修飾子を含めることはできませんが、Java では含めることができます。 2. php では new キーワードの後のクラス名は文字列型変数にすることができますが、Java ではそうではありません。 3. 親オブジェクトにアクセスする場合、php はparentを使用し、javaはsuperを使用します。
このチュートリアルの動作環境: Windows7 システム、PHP7.1&&java8 バージョン、DELL G3 コンピューター
PHP およびJava 指向のオブジェクトの不完全な比較
PHP は、プロセス指向またはオブジェクト指向の方法でプログラムできる弱い型指定言語です。 Java は厳密に型指定された、純粋にオブジェクト指向の言語です。 2 つの言語はオブジェクト指向の面でいくつかの類似点があり、Java の学習経験があれば、これらのキーワード (クラス、拡張、インターフェイス、実装、最終、パブリック、保護、プライベート、静的) を見るだけで PHP を簡単に学習できます。とても懐かしい感覚があります。
いくつかの点での類似点と相違点を簡単にまとめましたが、私は学者ではなく、実用性のみを追求していますので、間違いがあればご指摘ください。
比較 1: クラスとインターフェイスの宣言、クラスの継承、インターフェイスの実装宣言
比較ポイント | 同じ点 | 異なる点 |
---|---|---|
クラス宣言 | すべて 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 サイトの他の関連記事を参照してください。

この記事では、酸とベースのデータベースモデルを比較し、その特性と適切なユースケースを詳述しています。酸は、財務およびeコマースアプリケーションに適したデータの整合性と一貫性を優先し、ベースは可用性に焦点を当て、

この記事では、コードインジェクションのような脆弱性を防ぐために、PHPファイルのアップロードを確保することについて説明します。ファイルタイプの検証、セキュアストレージ、およびアプリケーションセキュリティを強化するエラー処理に焦点を当てています。

記事では、組み込み関数、ホワイトリストアプローチ、サーバー側の検証などの手法に焦点を当てたセキュリティを強化するためのPHP入力検証のベストプラクティスについて説明します。

この記事では、Token BucketやLeaky BucketなどのアルゴリズムやSymfony/Rate-Limiterなどのライブラリを使用するなど、PHPでAPIレート制限を実装するための戦略について説明します。また、監視、動的に調整されたレートの制限、および手をカバーします

この記事では、パスワードを保護するためにPHPでpassword_hashとpassword_verifyを使用することの利点について説明します。主な議論は、これらの関数が自動塩の生成、強力なハッシュアルゴリズム、およびSecurを通じてパスワード保護を強化するということです

この記事では、PHPおよび緩和戦略におけるOWASPトップ10の脆弱性について説明します。重要な問題には、PHPアプリケーションを監視および保護するための推奨ツールを備えたインジェクション、認証の壊れ、XSSが含まれます。

この記事では、PHPでのXSS攻撃を防ぐための戦略について説明し、入力の消毒、出力エンコード、セキュリティを向上させるライブラリとフレームワークの使用に焦点を当てています。

この記事では、PHPでのインターフェイスと抽象クラスの使用について説明し、それぞれをいつ使用するかに焦点を当てています。インターフェイスは、無関係なクラスや複数の継承に適した、実装なしで契約を定義します。抽象クラスは共通の機能を提供します


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

WebStorm Mac版
便利なJavaScript開発ツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター
