ホームページ > バックエンド開発 > PHPの問題 > PHPクラスの定義とインスタンス化方法とは何ですか?

PHPクラスの定義とインスタンス化方法とは何ですか?

青灯夜游
リリース: 2023-03-13 21:50:01
オリジナル
2261 人が閲覧しました

PHP では、class キーワードとクラス名を使用してクラスを定義できます。構文は「[クラスを変更するキーワード] class クラス名 {クラスの属性とメソッド;}」です。 new クラスをオブジェクトにインスタンス化するためのキーワード。構文は「変数名 = 新しいクラス名 (パラメータ リスト)」です。

PHPクラスの定義とインスタンス化方法とは何ですか?

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

php クラスの定義

PHP では、class キーワードとクラス名を使用してクラスを定義し、中かっこ { } を使用して、クラス本体で定義されたクラスの属性とメソッドをラップできます。クラスの形式は次のとおりです:

[修饰类的关键字] class 类名{
    类的属性和方法;
}
ログイン後にコピー

クラス名、変数名、関数名の命名規則は似ています。これらはすべて PHP のカスタム命名規則に従う必要があり、そうでない任意の正当なタグを使用できます。 PHP の予約語。有効なクラス名は文字またはアンダースコアで始まり、その後に複数の文字、数字、またはアンダースコアが続きます。クラス名が複数の単語で構成されている場合は、各単語の最初の文字を大文字にするのが一般的です。また、クラス名は特定の意味を持つ必要があり、数文字だけで構成することはできません。

クラスを変更するキーワードはオプションのパラメーターであり、省略できます。通常、クラスを変更するには次のキーワードを使用します:

  • abstract: 抽象クラスまたはメソッド抽象クラスとして変更した後、クラスをインスタンス化することはできませんが、継承することはできます。クラス内の少なくとも 1 つのメソッドが抽象として宣言されている場合は、そのクラスも抽象として宣言する必要があります。抽象クラスを継承する場合、サブクラスは親クラス内のすべての抽象メソッドを再定義する必要があり、これらのメソッドのアクセス制御は親クラスと同じである必要があります。

  • final: Final で修飾されたクラスは継承できません。また、final で修飾されたメソッドをサブクラスで再定義することはできません。

注: クラスには、独自の定数、変数 (クラス内では「メンバー プロパティ」または「プロパティ」と呼ばれます)、および関数 (クラス メソッドでは「メンバー」と呼ばれます) を含めることができます。 "方法")。

例:

車の色や価格などの属性を使用して車クラスを定義する

class car{

  public $color;     //定义属性

  public $price;

}
ログイン後にコピー

PHP クラスのインスタンス化

クラスのインスタンス化は、オブジェクトの作成、オブジェクトのインスタンス化、またはクラスのインスタンス化とも呼ばれます。

クラスをオブジェクトにインスタンス化するのは非常に簡単で、new キーワードを使用し、その後にクラス名と同じ名前のメソッドを続けるだけです。もちろん、オブジェクトをインスタンス化するときにオブジェクトのパラメーターを渡す必要がない場合は、かっこを追加せずに、 new キーワードの直後にクラス名を使用します。

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

变量名 = new 类名(参数数列表);
或
变量名 = new 类名();
ログイン後にコピー

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

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

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

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

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

簡単な例:

ヒューマン クラスを定義し、このクラスをインスタンス化します。

class Preson {                                  //定义了一个Preson类

public $name;                            //定义类的属性(姓名,性别,年龄等等)

public $age;

public $gender;

// public .....

}

//new翻译是新的,意思就是创建一个新的人,并把这个新的对象赋值给$Preson1,这个就是实例化

$Preson1 = new Preson();                 //实例化类

$Preson1->name = "张三";

$Preson1->age = 22;

$Preson1->gender = "女";

echo  $Preson1->name.'  '.$Preson1->age.'  '.$Preson1->gender;

//如果想输出第二个实例,直接输出就OK了,只要改一个变量名

$Preson2 = new Preson();                    //实例化类

$Preson2->name = "小亮";

$Preson2->age = 25;

$Preson2->gender = "男";
ログイン後にコピー

推奨学習: 「

PHP ビデオ チュートリアル

以上がPHPクラスの定義とインスタンス化方法とは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
php
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート