検索
ホームページバックエンド開発PHPの問題phpとjavaのオブジェクト指向の違いは何ですか

phpとjavaのオブジェクト指向の違いは何ですか

Sep 17, 2021 pm 04:20 PM
javaphpオブジェクト指向

違い: 1. PHP の class キーワードには、abstract と Final 以外の修飾子を含めることはできませんが、Java では含めることができます。 2. php では new キーワードの後のクラス名は文字列型変数にすることができますが、Java ではそうではありません。 3. 親オブジェクトにアクセスする場合、php はparentを使用し、javaはsuperを使用します。

phpとjavaのオブジェクト指向の違いは何ですか

このチュートリアルの動作環境: Windows7 システム、PHP7.1&&java8 バージョン、DELL G3 コンピューター

PHP およびJava 指向のオブジェクトの不完全な比較

PHP は、プロセス指向またはオブジェクト指向の方法でプログラムできる弱い型指定言語です。 Java は厳密に型指定された、純粋にオブジェクト指向の言語です。 2 つの言語はオブジェクト指向の面でいくつかの類似点があり、Java の学習経験があれば、これらのキーワード (クラス、拡張、インターフェイス、実装、最終、パブリック、保護、プライベート、静的) を見るだけで PHP を簡単に学習できます。とても懐かしい感覚があります。

いくつかの点での類似点と相違点を簡単にまとめましたが、私は学者ではなく、実用性のみを追求していますので、間違いがあればご指摘ください。

比較 1: クラスとインターフェイスの宣言、クラスの継承、インターフェイスの実装宣言

#インターフェース宣言インターフェース キーワードを使用しますクラス継承インターフェイス継承##インターフェースの実装複数のインターフェースを実装するには、implements キーワードを使用しますなしクラスのインスタンス化new キーワードを使用するとオブジェクトへの参照が返され、オブジェクトの割り当ても参照の割り当てになりますphp の new キーワードの後のクラス名文字列型変数にすることができます、しかし、Java はできません親オブジェクトにアクセスすることはできません#比較 2: アクセス修飾子とアクセス メソッド
比較ポイント 同じ点 異なる点
クラス宣言 すべて class キーワードを使用します。修飾子はabstractとfinalで変更されます。これら2つの修飾子の意味は同じです。 PHPのclassキーワードにはabstractとfinal以外の修飾子を含めることはできません。Javaのclassキーワードにはpublic、proctected、private修飾子を含めることができます。 Java ファイルにはパブリック クラスを 1 つだけ含めることができます
#上記と同じ
extends キーワードを使用、単一継承 なし
extends キーワードを使用 なし
php ではparentキーワードを使用し、javaではsuperキーワードを使用してください。 キーワード

##比較ポイント

同じポイント相違点修飾子キーワードはすべてパブリック、プロテクト、プライベートです なし修飾子の動作public: クラス内外の両方でアクセス可能、protected: クラスおよびサブクラス内でアクセス可能、private: クラス内でのみアクセス可能 php のアクセス制御はもっと緩くすべきですphp のデフォルトは public、java のデフォルトは privatephp では $this->gt; を使用する必要があり、java Use this. を使用するか、#比較 3: クラス メンバーとクラス メソッド
#デフォルト修飾子 なし
インスタンス メンバーのアクセス メソッドとインスタンス メソッド None
を省略できます。

比較ポイント同じ点

異なる点なし#スコープこのクラスのすべてのインスタンスなしアクセス メソッドクラス名::変数または関数名。インスタンス化なしでアクセスされた #比較 4: クラス定数 #比較ポイント同じポイント
##キーワード 静的
#None

異なる点

##キーワードスコープクラスのすべてのインスタンスクラス名::変数または関数名、インスタンス化せずにアクセス可能
const Java は通常、final を使用しますが、PHP は Final を使用できません
なし アクセスメソッド
none

比較 5: 抽象メソッドと抽象クラスは基本的に同じです。抽象メソッドと抽象クラスは両方とも、abstract キーワードで変更されます。少なくとも 1 つの抽象メソッドを持つクラスは、抽象クラスと呼ばれます。抽象クラスは、サブクラスをインスタンス化したい場合は、親クラスのすべての抽象メソッドを実装する必要があります。

比較 6: 書き換え/上書き/オーバーロード

サブクラス メソッドは、親クラス メソッドとまったく同じシグネチャを持ち、これを書き換え/上書きと呼びます。 、親クラスのメソッド。サブクラスでは表示されません。 Java は厳密に型指定された言語であるため、オーバーロード メカニズム (同じメソッド名、異なるシグネチャ、呼び出し時に実際のパラメータの型と数値に基づいてどのメソッドが呼び出されるか) を備えています。 PHP は型指定が弱く、そのようなオーバーロードはありませんが、代わりに、マジック メソッド (__get、__set、__unset、__isset、__callStatic) を通じてクラスの属性とメソッドを動的に作成するオーバーロードがあります。

推奨学習:

php トレーニング

以上がphpとjavaのオブジェクト指向の違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
酸とベースデータベース:違いとそれぞれを使用するタイミング。酸とベースデータベース:違いとそれぞれを使用するタイミング。Mar 26, 2025 pm 04:19 PM

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

PHPセキュアファイルアップロード:ファイル関連の脆弱性の防止。PHPセキュアファイルアップロード:ファイル関連の脆弱性の防止。Mar 26, 2025 pm 04:18 PM

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

PHP入力検証:ベストプラクティス。PHP入力検証:ベストプラクティス。Mar 26, 2025 pm 04:17 PM

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

PHP APIレート制限:実装戦略。PHP APIレート制限:実装戦略。Mar 26, 2025 pm 04:16 PM

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

PHPパスワードハッシュ:password_hashおよびpassword_verify。PHPパスワードハッシュ:password_hashおよびpassword_verify。Mar 26, 2025 pm 04:15 PM

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

OWASPトップ10 PHP:共通の脆弱性を説明し、軽減します。OWASPトップ10 PHP:共通の脆弱性を説明し、軽減します。Mar 26, 2025 pm 04:13 PM

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

PHP XSS予防:XSSから保護する方法。PHP XSS予防:XSSから保護する方法。Mar 26, 2025 pm 04:12 PM

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

PHPインターフェイスvs抽象クラス:それぞれを使用する時期。PHPインターフェイスvs抽象クラス:それぞれを使用する時期。Mar 26, 2025 pm 04:11 PM

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

See all articles

ホット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ヘンタイを無料で生成します。

ホットツール

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

PhpStorm Mac バージョン

PhpStorm Mac バージョン

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

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

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

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター