php oop は、オブジェクト指向プログラミングを指します。オブジェクト指向プログラミング (OOP) では、オブジェクトは、情報とその情報の処理方法の記述で構成される全体です。現実世界の抽象化です。 。
この記事の動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター
php oop の意味?
PHP オブジェクト指向
オブジェクト指向プログラミング(英語: Object-owned programming、略称: OOP)において、オブジェクトとは情報の集合です。情報処理の記述全体は現実世界の抽象化です。
現実世界では、私たちが直面しているのはコンピューター、テレビ、自転車などの物体です。
オブジェクトの主な 3 つの特性:
#オブジェクトの動作: オブジェクトに適用できる操作、オンにすること明かりをつけるのも消すのも行動です。
オブジェクトの形状: メソッドが適用されたときのオブジェクトの反応、色、サイズ、外観。
オブジェクトの表現: オブジェクトの表現は ID カードに相当し、特に同じ動作とステータスの違いを区別します。
たとえば、Animal は抽象クラスです。犬と羊を指定できます。犬と羊は具体的なオブジェクトです。これらは色の属性を持ち、 と書くことができ、実行することができますおよびその他の行動状態。
オブジェクト指向コンテンツ
クラス - 物の抽象的な特性を定義します。クラスの定義には、データの形式とデータに対する操作が含まれます。
Object -クラスのインスタンスです。
メンバー変数-クラス内で定義された変数。この変数の値は外部からは見えませんが、メンバー関数を通じてアクセスできます。クラスがオブジェクトとしてインスタンス化された後、変数はオブジェクトの属性になることができます。
メンバー関数-クラス内で定義され、オブジェクトのデータにアクセスするために使用できます。
継承-継承は、サブクラスが親クラスのデータ構造とメソッドを自動的に共有するメカニズムであり、クラス間の関係です。クラスを定義して実装するときは、既存のクラスに基づいて実行したり、既存のクラスによって定義されたコンテンツを独自のコンテンツとして取得したり、新しいコンテンツを追加したりできます。
親クラス - クラスは他のクラスによって継承され、このクラスは親クラス、基本クラス、またはスーパークラスと呼ばれます。
サブクラス-他のクラスを継承するクラスは、サブクラスまたは派生クラスと呼ばれます。
ポリモーフィズム-ポリモーフィズムとは、同じ関数またはメソッドが複数の種類のオブジェクトに作用し、異なる結果が得られることを意味します。同じメッセージを受信したときに、オブジェクトが異なれば結果も異なる場合があり、この現象はポリモーフィズムと呼ばれます。
オーバーロード - 簡単に言うと、関数またはメソッドの名前は同じですが、パラメーター リストが異なる状況です。名前が同じでパラメーターが異なるこのような関数またはメソッドは、オーバーロードされた関数またはメソッドと呼ばれます。
抽象化-抽象化は、一貫したデータ構造(属性)と動作(操作)を持つオブジェクトをクラスに抽象化することを指します。クラスは、アプリケーションに関連する重要なプロパティを反映し、その他の無関係なコンテンツを無視する抽象化です。クラスの分割は主観的ですが、特定のアプリケーションに関連している必要があります。
カプセル化-カプセル化とは、現実世界に存在するオブジェクトのプロパティと動作をバインドし、論理ユニットに配置することを指します。
Constructor - 主にオブジェクトの作成時にオブジェクトを初期化するために使用され、オブジェクトのメンバー変数に初期値を割り当てます。オブジェクトを作成するステートメントでは常に new 演算子と一緒に使用されます。
Destructor - デストラクター (デストラクター) コンストラクターとは対照的に、オブジェクトがそのライフサイクルを終了すると (たとえば、オブジェクトが配置されている関数が呼び出されたとき)、システムは自動的にデストラクターを実行します。デストラクターは、「クリーンアップ」作業を行うためによく使用されます (たとえば、オブジェクトを作成する場合、new を使用してメモリー空間を開きます。このメモリー空間は、終了する前にデストラクターの delete で解放する必要があります)。
下の図では、Car クラスを通じて Mercedes、Bmw、Audi の 3 つのオブジェクトを作成しました。
$mercedes = new Car (); $bmw = new Car (); $audi = new Car ();
PHP クラス定義
PHP 定義クラスの通常の構文形式は次のとおりです。
<?php class phpClass { var $var1; var $var2 = "constant string"; function myfunc ($arg1, $arg2) { [..] } [..] } ?>
分析は次のとおりです。
クラスは、class キーワードに続いてクラス名を使用して定義されます。
変数とメソッドは、クラス名の後の中括弧 ({}) 内で定義できます。
クラスの変数は var を使用して宣言され、変数の初期化も可能です。
関数定義は PHP 関数の定義に似ていますが、この関数にはクラスとそのインスタンス化されたオブジェクトを通じてのみアクセスできます。
インスタンス
<?php class Site { /* 成员变量 */ var $url; var $title; /* 成员函数 */ function setUrl($par){ $this->url = $par; } function getUrl(){ echo $this->url . PHP_EOL; } function setTitle($par){ $this->title = $par; } function getTitle(){ echo $this->title . PHP_EOL; } } ?>
変数$thisはそれ自体のオブジェクトを表します。
PHP_EOL は改行文字です。
PHP でオブジェクトを作成する
クラスを作成した後、new 演算子を使用してこのクラスのオブジェクトをインスタンス化できます。上記コード 3 つのオブジェクトが作成されました 3 つのオブジェクトはそれぞれ独立しています 次に、メンバーメソッドとメンバー変数にアクセスする方法を見てみましょう。
メンバー メソッドの呼び出しオブジェクトをインスタンス化した後、そのオブジェクトを使用してメンバー メソッドを呼び出すことができます。オブジェクトのメンバー メソッドは、オブジェクトのメンバー変数のみを操作できます。オブジェクト:
$runoob = new Site; $taobao = new Site; $google = new Site;
完全なコードは次のとおりです:
Example
// 调用成员函数,设置标题和URL $runoob->setTitle( "菜鸟教程" ); $taobao->setTitle( "淘宝" ); $google->setTitle( "Google 搜索" ); $runoob->setUrl( 'www.runoob.com' ); $taobao->setUrl( 'www.taobao.com' ); $google->setUrl( 'www.google.com' ); // 调用成员函数,获取标题和URL $runoob->getTitle(); $taobao->getTitle(); $google->getTitle(); $runoob->getUrl(); $taobao->getUrl(); $google->getUrl();
上記のコードを実行すると、出力結果は次のようになります:
菜鸟教程 淘宝 Google 搜索 www.runoob.com www.taobao.com www.google.com
推荐学习:《PHP视频教程》
以上がphp oop とはどういう意味ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

ドリームウィーバー CS6
ビジュアル Web 開発ツール

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

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

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

ホットトピック









