オブジェクト指向は、特定の言語とは関係のないプログラミングの考え方であり、C、Java、JavaScript、php はすべて独自のスタイルでオブジェクト指向開発を実行できます。
クラスは、あるタイプの属性と動作をカプセル化したものです。なぜクラスが必要なのでしょうか? まず、クラスがなかったらどうなるかを考えなければなりません。普通の自転車を表現したい場合、車輪の数は 2 で、価格は... 次に、子供が乗れる自転車を表現する必要があり、車輪の数は 4 であると考えます。価格...このように、自転車がある限り、それは車輪が付いているべきだと誰もが考えるでしょう、量の属性は価格の属性も持ち合わせます...自転車には何種類ありますか。どのような属性や機能を持っているのか、何度も考えてみましょうリーリー
自転車教室があるとしましょう:
リーリー
自転車である限り、最初はその属性と関数について考える必要はありません。属性はクラス内に記述されており、関数もそこにあります。一つ一つ考える必要はありません。 リーリーここでのクラスは、すべての自転車が持つ属性と機能を規定する制約、または規制のように感じられます。なぜなら、自転車クラスをインスタンス化した後に、特別な属性が現れるということは不可能だからです。現時点では、初期属性が制限されています。
ここで、クラスにはインスタンス化されたオブジェクトが多数存在する可能性がありますが、これらのオブジェクトはどのように区別できるのでしょうか?
同じ属性の異なる値によって異なります。
たとえば、上記のオブジェクト 1 の名前とオブジェクト 2 の名前は異なり、車輪の数も異なります。これが違いです。
再び質問になりますが、区別する方法を使用できますか?
できません
PHP では、すべてのオブジェクトがクラス メソッドを共有します。つまり、オブジェクトがメソッドを使用する限り、このメソッドはクラスから取得され、オブジェクト自体は値を割り当てるだけです。他のオブジェクトとは異なります。
オブジェクトと配列:
オブジェクト: 属性名 = 属性値
配列:キー=>値
Php の配列とオブジェクトの構造は、図に示すように、シリアル化後は非常によく似ています。
2 行目はオブジェクトのシリアル化結果です。オブジェクトのシリアル化結果の前に「bicycle」という 3 つの単語があることがわかります。これらの 3 つの単語は、オブジェクトが逆シリアル化された後、自転車クラスに属していることを示します。シリアル化結果でメソッド情報が表示されないのは、メソッドがそのクラスに属しているためです。逆シリアル化後、bicycle の情報から該当するクラスを見つけてメソッドを呼び出すことができます。クラスで。