クラスとオブジェクト
CoddyのPHPジャーニー「オブジェクト指向プログラミング」セクションの一部 — レッスン 3/91。
クラスとオブジェクトは異なる目的で使用されます。クラスは設計図であり、オブジェクトはその設計図から作成されるものです。
プロパティが宣言されたクラスの例を次に示します:
<?php
class Dog {
public $name;
public $breed;
}publicキーワードは、これらのプロパティがクラスの外からアクセスできることを意味します。publicについては、プロパティのレッスンで詳しく学びます。
次に、Dogクラスからオブジェクトを作成します:
$dog1 = new Dog();
$dog2 = new Dog();オブジェクトは、そのプロパティに対して個別の値を持つことができます:
$dog1->name = "Nicky";
$dog1->breed = "Siberian Husky";
$dog2->name = "Teemon";
$dog2->breed = "Shu'ali";-> 演算子は、オブジェクトのプロパティにアクセスするために使用されます。
各オブジェクトのデータを出力します:
echo $dog1->name . " is a " . $dog1->breed . "\n";
echo $dog2->name . " is a " . $dog2->breed . "\n";出力:
Nicky is a Siberian Husky
Teemon is a Shu'ali主な違い: クラス Dog はすべての犬が共有する構造を定義し、一方でオブジェクト $dog1 と $dog2 は、固有のプロパティ値を持つ特定の個別の犬を表します。
チャレンジ
簡単Studentクラスから2つのstudentオブジェクトを作成し、それらのプロパティを設定するようにコードを完成させてください。
student.php:Studentクラスが含まれています(ロック済み)driver.php: オブジェクトを作成し、そのプロパティを設定します
次の値を設定してください:
$student1: nameは"Alice"で、gradeは"A"$student2: nameは"Bob"で、gradeは"B"
チートシート
クラスはオブジェクトの構造と動作を定義する設計図であり、オブジェクトはそのクラスから作成されたインスタンスです。
publicキーワードを使用して、プロパティを持つクラスを定義します:
<?php
class Dog {
public $name;
public $breed;
}newキーワードを使用して、クラスからオブジェクトを作成します:
$dog1 = new Dog();
$dog2 = new Dog();->演算子を使用して、オブジェクトのプロパティにアクセスし、設定します:
$dog1->name = "Nicky";
$dog1->breed = "Siberian Husky";
$dog2->name = "Teemon";
$dog2->breed = "Shu'ali";プロパティにアクセスして、その値を読み取ります:
echo $dog1->name . " is a " . $dog1->breed;自分で試してみよう
<?php
require_once 'student.php';
// TODO: 2つの生徒オブジェクトを作成する
// TODO: student1のプロパティを設定する (名前: "Alice", 成績: "A")
// TODO: student2のプロパティを設定する (名前: "Bob", 成績: "B")
// 生徒の情報を出力する
echo $student1->name . " has grade " . $student1->grade . "\n";
echo $student2->name . " has grade " . $student2->grade . "\n";
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。