ホームページ >php教程 >php手册 >セクション 3 クラスの定義 [3]

セクション 3 クラスの定義 [3]

WBOY
WBOYオリジナル
2016-06-13 12:45:53989ブラウズ


クラスを宣言するときは、オブジェクトが持つ必要があるすべての変数とすべての関数 (プロパティとメソッドと呼ばれる) をリストする必要があります。クラスの構成は中括弧 ({}) 内に示されています。宣言できるのは変数または関数のみです。3.1.2 では、クラス内で 3 つのプロパティと 2 つのメソッドを定義する方法を示しています。

3.1.1
クラス名 extends 別のクラス
{
アクセス変数宣言
アクセス関数宣言
} 3.1.2 //ユーザーを追跡するためのクラスを定義します
class User
{
//属性
public $name;
private $password, $lastLogin;
//メソッド
public function __construct($name, $password)
{
$this->name = $name;
$this->password = $password; 🎜>$this->lastLogin = time();
$this->accesses ;
}

// 最終アクセス時刻を取得します
function getLastLogin()
{
return(date("M d Y", $this->lastLogin));
}
}

// オブジェクトのインスタンスを作成します
$user = new User("Leon", "sdf123");

//前回の訪問時刻を取得します
print($user->getLastLogin() ."
n ");

//ユーザー名を出力します
print("$user->name
n");
?> プロパティを宣言するときに、変数は整数、文字列、または別のオブジェクトである可能性があります。プロパティを宣言するときに意味を示すコメントを追加することをお勧めします。 Type.

メソッドを宣言するときは、メソッドとプロパティが独自の名前空間を持っていることを意味します。外部関数と同じ名前は競合しません。たとえば、クラスは date() という名前のメソッドを定義できますが、for や while などのメソッドに名前を付けることはできません。

クラス メソッドは、 PHP でタイプ ヒントと呼ばれるものが含まれています。タイプ ヒントは、メソッドに引数を渡す別のクラスの名前です。スクリプトがメソッドを呼び出し、クラスのインスタンスではない変数を渡す場合、PHP は「致命的(致命的) エラー」。整数、文字列、ブール値などの他の型の型ヒントを指定していない可能性があります。この記事の執筆時点では、型ヒントに
型ヒントは、関数パラメーターまたは演算子インスタンスのデータ型をテストするためのショートカットです。このメソッドは常に、パラメーターが整数などのデータ型であることを確認してください。クラスはウィジェットのインスタンスのみを生成します。

3.2.1 //コンポーネント
クラス ウィジェット
{
public $name='none';
public $created=FALSE;

/ /Assembler
class Assembler
{
public function make(Widget $w)
{
print("Making $w->name
n"); w->created=TRUE;
}
}

// コンポーネント オブジェクトを作成します
$thing = new Widget;
$thing->name = 'Gadget ' ;

//アセンブリコンポーネント
Assembler::make($thing); パラメータに渡される変数に加えて、メソッドにはクラスの個々のインスタンスを表す特別な変数が含まれます。一部のオブジェクト指向言語では、これを使用してオブジェクトのプロパティやその他のメソッドを指定する必要があります。修飾されていない変数はローカル プロパティに送信されますが、PHP のメソッドの変数はメソッドの特定のスコープ内でのみ使用されます。この変数は User クラス (3.1.2) のコンストラクターで使用されることに注意してください。

PHP では、public、private、protected などのメソッド修飾子を宣言する前にアクセス ポイントを定義します。また、クラス内で定数を宣言することもできます。さまざまなアクセス方法については、この章で後ほど説明します。

3.1.2 では、User クラスに 2 つのプライベート プロパティ ($password) があり、同じアクセス方法を持つ複数のプロパティを 1 行にリストできます。と $lastLogin。

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