ホームページ  >  記事  >  バックエンド開発  >  PHP オブジェクト指向プログラミングの詳細な説明: クラスとオブジェクト

PHP オブジェクト指向プログラミングの詳細な説明: クラスとオブジェクト

WBOY
WBOYオリジナル
2016-08-08 09:22:34953ブラウズ

PHP オブジェクト指向プログラミングの詳細説明: クラスとオブジェクト

OOP の観点からは、言語は区別されるべきではありません。 C++、Java、.net、またはその他のオブジェクト指向言語であっても、OO の本当の意味を理解していれば、言語を超えて思考を簡単に変えることができます。 Java、.net、PHP の中で誰が強いかという議論はもうありません。
この PHP5 オブジェクト指向プログラミング (OOP) の入門が初心者にとって有益であり、より多くの PHPer が OO プログラミングに切り替え始めることができるようになることを願っています。
PHP4 と比較して、PHP5 はオブジェクト指向の点で大きく変わりました。 PHP5環境におけるオブジェクト指向のみを紹介します。そして、PHP5 の発展に従うために私たち自身も変わらなければなりません。お使いの環境でコード結果が一致しない場合は、お使いの環境がPHP5であることを確認してください。
読者はオブジェクト指向の知識がなくても、この記事は理解できると想定しています。ただし、PHP についてある程度の知識が必要であると思います。
後でいくつかの例を使用して、PHP5 の OO 基盤を徐々に分析します。
オブジェクト指向は、コードのスケーラビリティとコードの保守性という 2 つの問題のみを解決します。
php はますます Java に似てきていると言わざるを得ません。
コンパイルリファレンス: http://www.lai18.com/content/425094.html

すべてはオブジェクトです: すべてはオブジェクトです。

オブジェクト指向プログラミング (OOP) の考え方は、コンピューター言語での物事の記述を、現実世界の物事の元の外観と可能な限り一致させるように努めます。オブジェクト指向言語は私たちの生活と密接な関係があり、オブジェクト指向言語を学ぶのは実はとても簡単です。このアプリケーションは、私たちの生活のロジックにより沿っています。
クラスはオブジェクトを記述するために使用されます:
クラスは各オブジェクトに含めるべきデータを記述し、クラスは各オブジェクトの動作特性を記述します。
クラス/オブジェクト: クラスとオブジェクトは、オブジェクト指向メソッドの中核概念です。
クラスは、抽象的かつ概念的な定義であるもののタイプの記述です。
オブジェクトは、実際に存在するもののタイプのそれぞれの個別であるため、インスタンスとも呼ばれます。コンピュータでは、このオブジェクトを格納するためにメモリ上に実メモリ領域が作成されると理解できます。
オブジェクトを作成するプロセスはオブジェクト作成と呼ばれ、インスタンス化とも呼ばれます。

PHP5のクラスとオブジェクト

まず基本的なクラスを作成します。
キーワード class は、PHP でクラスを定義するために使用されます。クラス名は通常、最初の文字を大文字にし、読みやすくするために各単語の最初の文字を接続します。


このようにして、最初の PHP クラスが完成しました。
引き続きこのクラスを使用し、new キーワードを使用してオブジェクトを作成し、echo を使用して $p を出力します。
変数 $p を定義し、new キーワードを使用して Person オブジェクトを作成します。
変数 $p を出力すると、出力オブジェクト ID #1 が表示され、これがオブジェクトであることがわかります。
$p = new Person(); は $p = new Person; と書くこともできますが、後者の方法を使用することはお勧めできません。

PHP5 の属性

属性: オブジェクトを記述するために使用されるデータ要素は、オブジェクトの属性と呼ばれます (データ/状態とも呼ばれます)
PHP5 では、属性はクラスで宣言された変数を指します。変数を宣言するときは、変数のアクセス権を定義するために public private protected のいずれかを使用して変数を変更する必要があります。
公開: クラス内外で自由に読み取り、変更できます。
プライベート: 現在のクラス内でのみ読み取りおよび変更できます。
保護: このクラスとそのサブクラスで読み取りおよび変更できます。
属性の使用: 変数の -> 記号を参照して、変数が指すオブジェクトの属性を呼び出します。
メソッド内の $this-> 表記を介して同じオブジェクトのプロパティを呼び出します。

"; // 输出对象 echo "他的名字是 ".$p->name; // 输出对象$p的属性 $name; echo "
"; echo '他的年龄是 '$p->age; //输出age属性. ?>


プログラムの出力は次のとおりです:

他的名字是 Gonn 他的年龄是 24


インスタンス化後、$p->name と $p->age を使用すると、$p->age が出力されます。属性の内容。
もちろん、属性を定義するときに初期値を設定することはできません。その場合、結果は出力されません。
オブジェクトのプロパティを変更し、コードの 8 行目と 9 行目、および出力結果の変化に注意してください。出力属性値が変更されたことがわかります。

name = 'Tom'; //变更姓名为 Tom $p->age = 25 ; // 变更年龄为 25 岁. echo "他的名字是 ".$p->name; // 输出对象$p的属性 $name; echo "
"; echo '他的年龄是 '.$p->age; //输出age属性. ?>


Person オブジェクトを作成し、このオブジェクトのプロパティを変更します。名前を付けてその名前を確認します。あなたは、マシン内の Person オブジェクトの神です。定義したルールに従って、メモリ内にこの実際の Person オブジェクトが作成され、変更可能なプロパティを持ちます。
さて、私たちはコンピューター世界の神です。世界を創造する準備をしましょう。
プライベートの変更されたプロパティには、現在のオブジェクトの外部からアクセスできません。プライベート属性はデータを非表示にするように設定されます。
非表示: オブジェクトのプロパティやメソッドが外部プログラムから直接アクセスされないように、オブジェクトを保護するメカニズムを指します。

name; // 输出对象$p的属性 $name; ?>


このプログラムを実行すると、次のように出力されます:

Fatal error: Cannot access private property Person::$name in E:\PHPProjects\test.php on line 9


プライベート属性には外部からアクセスできません。これの利点については後で紹介します。

多読

この記事のトピックのリストは次のとおりです:
PHP オブジェクト指向プログラミング 詳細説明: クラスとオブジェクト
PHP オブジェクト指向プログラミング詳細説明: クラスのプロパティ
PHP オブジェクト指向プログラミング詳細説明: クラス メソッド
PHP オブジェクト・指向プログラミング詳説:オブジェクトの比較
PHP PHPによるオブジェクト指向プログラミングの詳細説明:コンストラクタ
PHPによるオブジェクト指向プログラミングの詳細説明:クラスの継承
PHPによるオブジェクト指向プログラミングの詳細説明:アクセス制御
PHP のオブジェクト指向プログラミングの詳細な説明: メソッド オーバーライド
PHP のオブジェクト指向プログラミングの詳細な説明: このキーワード
PHP のオブジェクト指向プログラミングの詳細な説明:parent:: キーワード
PHP のオブジェクト指向の詳細な説明プログラミング: オーバーロードについてもう一度話しましょう
PHP オブジェクト指向プログラミングの詳細な説明: ユーザー データの取得
PHP オブジェクト指向プログラミングの詳細な説明: ユーザー権限管理クラス
PHP オブジェクト指向プログラミングの詳細な説明: 静的変数とメソッド
PHPオブジェクト指向プログラミングの詳細な説明: シングルトン パターン
PHP オブジェクト指向プログラミングの詳細な説明: 最終クラスとメソッド
PHP オブジェクト指向プログラミングの詳細な説明: PHP の定数
PHP オブジェクト指向プログラミングの詳細な説明: 抽象クラス
PHP オブジェクト指向プログラミングを詳しく解説:抽象メソッド
PHP オブジェクト指向プログラミングを詳しく解説:抽象クラスは抽象クラスを継承
PHP オブジェクト指向プログラミングを詳しく解説:静的抽象メソッド
PHP オブジェクト指向プログラミングを詳しく解説:テンプレートパターン
PHP オブジェクト指向プログラミングの詳細説明: インターフェイスと抽象メソッド
PHP オブジェクト指向プログラミングの詳細説明: インターフェイス
PHP オブジェクト指向プログラミングの実装の詳細: インターフェイスの継承
PHP オブジェクト指向プログラミングの詳細:型ヒント
PHP オブジェクト指向プログラミングの詳細: PHP におけるポリモーフィズム
PHP オブジェクト指向プログラミングの詳細:instanceof 演算子
PHP オブジェクト指向プログラミングの詳細: インターフェイス 組み合わせによる多重継承のシミュレーション
PHP オブジェクト指向プログラミングの詳細な説明:インターフェイスの例
PHP オブジェクト指向プログラミングの詳細な説明: 単純なファクトリ パターン

上記では、PHP のオブジェクト指向プログラミング、つまりクラスとオブジェクトについて、内容の側面も含めて詳しく説明しました。PHP チュートリアルに興味のある友人の参考になれば幸いです。

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