PHP では、class キーワードとクラス名を使用してクラスを定義できます。構文は「[クラスを変更するキーワード] class クラス名 {クラスの属性とメソッド;}」です。 new クラスをオブジェクトにインスタンス化するためのキーワード。構文は「変数名 = 新しいクラス名 (パラメータ リスト)」です。
#このチュートリアルの動作環境: 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 サイトの他の関連記事を参照してください。