ホームページ >バックエンド開発 >PHPの問題 >PHPオブジェクトのインスタンス化とは何を意味しますか?

PHPオブジェクトのインスタンス化とは何を意味しますか?

青灯夜游
青灯夜游オリジナル
2022-04-11 19:40:522770ブラウズ

PHP では、オブジェクトのインスタンス化とは、クラスをオブジェクトにインスタンス化すること、つまり、クラスを使用してオブジェクトを作成するプロセスを指します。これは、抽象から具象へのプロセスです。単に new キーワードを使用して、同じクラス名のメソッドは、「変数名 = 新しいクラス名 (パラメータ リスト);」という構文でインスタンス化できます。オブジェクトにはパラメータを渡さず、パラメータ リストは省略できます。

PHPオブジェクトのインスタンス化とは何を意味しますか?

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

PHP では、オブジェクトのインスタンス化これは、クラスをオブジェクトにインスタンス化するプロセス、つまり、クラスを使用してオブジェクトを作成するプロセスを指し、抽象概念的クラスをその型の具体的なオブジェクトに変換するプロセスです。

クラスをオブジェクトにインスタンス化するのは非常に簡単で、new キーワードを使用し、その後にクラス名と同じ名前のメソッドを続けるだけです。

オブジェクトのインスタンス化形式は次のとおりです:

变量名 = new 类名(参数列表);

もちろん、オブジェクトのインスタンス化時にオブジェクトのパラメータを渡す必要がない場合は、 、新しいキーワードの直後に使用します。クラス名を使用するだけで、かっこを追加する必要はありません。

变量名 = new 类名;

パラメータの説明は次のとおりです:

  • 変数名: クラスによって作成されたオブジェクトの参照名。これを通じてオブジェクトのメンバーにアクセスできます。 name;

  • new: キーワード、新しいオブジェクトが作成されることを示します;

  • クラス名: 新しいオブジェクトのタイプを示します。

  • パラメータ リスト: 指定されたクラスのコンストラクタは、オブジェクトの値を初期化するために使用されます。クラスにコンストラクタが定義されていない場合、PHP はパラメータのないデフォルトのコンストラクタを自動的に作成します。

オブジェクト データのカプセル化の特性により、オブジェクト属性 (クラス内で定義された変数) はメイン プログラム ブロックから直接アクセスできません。クラス内で定義されたオブジェクトは、属性と動作関数は、コントロール クラス内のデータにアクセスするという目的を間接的に達成します。

例:


<?php
    //声明一个电话类Phone
    class Phone {               
        //类中成员同上(略)
    }
    
    // 声明一个人类Person
    class Person {                  
        //类中成员同上(略)
    }
    //通过Person类实例化三个对象$person1、$person2、$person3
    $person1 = new Person();        //创建第一个Person类对象,引用名为$person1
    $person2 = new Person();        //创建第二个Person类对象,引用名为$person2
    $person3 = new Person();        //创建第三个Person类对象,引用名为$person3
    //通过Phone类实例化三个对象$phone1、$phone2、$phone3
    $phone1 = new Phone();          //创建第一个Phone类对象,引用名为$phone1
    $phone2 = new Phone();          //创建第二个Phone类对象,引用名为$phone2
    $phone3 = new Phone();          //创建第三个Phone类对象,引用名为$phone3

オブジェクト内のメンバーへのアクセス

クラスには、メンバー プロパティとメンバー メソッドという 2 つの部分が含まれています。 "new" キーワードはオブジェクトを作成します。つまり、

$引用名 = new 类名(构造参数);

その後、特別な演算子 "->" を使用して、オブジェクト内のメンバー プロパティまたはメンバー メソッドにアクセスできます。例:

$引用名 = new 类名(构造参数);
$引用名->成员属性=赋值;   //对象属性赋值
echo $引用名->成员属性;   //输出对象的属性
$引用名->成员方法(参数);//调用对象的方法

オブジェクト内のメンバーが静的でない場合、これがメンバーにアクセスする唯一の方法です。

オブジェクトとクラスの関係:

オブジェクトは実際に存在し、動的リソースを占有します。

クラスはオブジェクトの設計図であり、静的リソースを占有する場合があります。

オブジェクト属性は動的リソースを占有します

クラス (静的) 属性は、実際にはクラス名前空間の「グローバル変数」です

パフォーマンスに関する考慮事項:

各オブジェクトは個別のデータ空間を占有します

呼び出しレベルの増加により、実行時間が消費される可能性があります

推奨: "

PHP ビデオ チュートリアル "

以上がPHPオブジェクトのインスタンス化とは何を意味しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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