ホームページ php教程 php手册 PHP 5.0 オブジェクト モデルの詳細な調査とクラスの定義

PHP 5.0 オブジェクト モデルの詳細な調査とクラスの定義

Jun 21, 2016 am 08:59 AM
name public user

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

リスト 1

クラス名は別のクラスを拡張
{
アクセス変数宣言
アクセス関数宣言
}


リスト 2

//ユーザーを追跡するためのクラスを定義します
class User
{
//属性
public
private $password, $lastLogin; 🎜>
// メソッド
public function __construct($name, $password)
{
$this->name = $name
$this->password = $password; 🎜> $this->lastLogin = time();
$this->accesses++;
}

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

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

//最終アクセス時刻を取得します
print($user->getLastLogin() ."
n"); 🎜>/ /Print user name
print("$user->name n");
?>

プロパティを宣言する場合、データ型を指定する必要はありません。変数は、状況に応じて、整数、文字列、または別のオブジェクトになります。プロパティを宣言するときにコメントを追加し、プロパティの意味とデータ型をマークすることをお勧めします。

メソッドを宣言すると、クラスの外で関数を定義するのと同じことになります。メソッドとプロパティには独自の名前空間があります。これは、クラスの外部関数と同じ名前のメソッドを、2 つが競合することなく安全に作成できることを意味します。たとえば、クラスは date() という名前のメソッドを定義できます。ただし、for や while など、PHP キーワードの後に​​メソッド名を付けることはできません。


クラス メソッドには、PHP でいわゆるタイプ ヒントが含まれる場合があります。タイプ ヒントは、スクリプトがメソッドを呼び出してインスタンスではない変数を渡す場合に、メソッドにパラメータを渡す別のクラスの名前です。このクラスの場合、PHP は「致命的エラー」を生成します。整数、文字列、ブール値などの他の型の型ヒントを指定することはできません。この記事の執筆時点では、型ヒントに配列型を含めるべきかどうかについては議論がありました。

型ヒントは、関数パラメーターまたは演算子のインスタンスのデータ型をテストするためのショートカットです。このメソッドは常に、パラメーターが のようなデータ型であることを確認してください。リスト 3 コンパイルされたクラスが Widget のインスタンスのみを生成するようにします。

リスト 3


//コンポーネント
クラス ウィジェット
{
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';

//Assembly コンポーネント
Assembler::make($thing);
?>

パラメータ、メソッドを渡す変数に加えて、特別な変数が含まれます。これは、オブジェクトのプロパティやその他のメソッドを指すために使用する必要があります。ただし、修飾されていない変数はローカル プロパティに送信されます。 PHP メソッドの任意の変数 メソッドの特定のスコープ内でのみ、User クラス (3.1.2) のコンストラクターでこの変数を使用することに注意してください。PHP はプロパティの宣言の前にアクセス修飾子を定義します。さらに、メンバーを「static」でマークすることもできます。また、クラス内で定数を宣言することもできます。さまざまなアクセス方法については後ほど説明します。

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





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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

iOS の開発者バージョンとパブリック バージョンの違いは何ですか? iOS の開発者バージョンとパブリック バージョンの違いは何ですか? Mar 01, 2024 pm 12:55 PM

毎年、Apple が iOS と macOS の新しいメジャー バージョンをリリースする前に、ユーザーは数か月前にベータ版をダウンロードして最初に体験することができます。同ソフトウェアは一般ユーザーと開発者の両方が使用するため、Appleは開発者向けベータ版のパブリックベータ版である開発者版とパブリック版を両方向けに開始した。 iOS の開発者バージョンとパブリック バージョンの違いは何ですか?文字通りに言うと、開発者バージョンは開発者テスト バージョンであり、パブリック バージョンは公開テスト バージョンです。開発者バージョンとパブリック バージョンは、異なるユーザーを対象としています。開発者バージョンは、Apple が開発者によるテストのために使用します。ダウンロードしてアップグレードするには、Apple 開発者アカウントが必要です。

php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 Jun 13, 2016 am 10:23 AM

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

Docker マウントディレクトリの権限の問題を解決する方法 Docker マウントディレクトリの権限の問題を解決する方法 Feb 29, 2024 am 10:04 AM

Docker では、マウント ディレクトリの権限の問題は通常、-v パラメータを使用してマウント ディレクトリを指定するときに権限関連のオプションを追加することで解決できます。マウントされたディレクトリのアクセス許可を指定するには、マウントされたディレクトリの後に ro または :rw を追加します。それぞれ、読み取り専用と読み取り/書き込みアクセス許可を示します。例: dockerrun-v/host/path:/container/path:roimage_name Dockerfile で USER ディレクティブを定義してコンテナ内で実行するユーザーを指定し、コンテナ内での操作が権限要件に準拠していることを確認します。例: FROMimage_name#CreateanewuserRUNuseradd-ms/bin/

Java 関数アクセス許可修飾子の公開使用ガイド Java 関数アクセス許可修飾子の公開使用ガイド Apr 26, 2024 am 08:39 AM

Java パブリック アクセス修飾子を使用すると、どこからでも関数にアクセスできるようになり、パブリック API を宣言したり、パッケージやクラス間で共有されるツールやユーティリティを定義したりするために使用されます。具体的な使用方法は以下のとおりです。 構文: public 戻り値型関数名(パラメータリスト) {...} シナリオ: どこからでもアクセスする必要がある関数、パブリック API のメソッド、共有ツールまたはユーティリティ

php が名前を取得できない場合はどうすればよいですか? php が名前を取得できない場合はどうすればよいですか? Nov 24, 2022 am 09:56 AM

form要素のnameとidの値が異なるとブラウザが認識できないため、PHPが名前を取得できない 解決策: 1. 一部のform要素やframe要素がnameを使用していないか確認する; 2. 取得できる要素のみを確認するID は割り当てられますが、名前は割り当てられません; 3. 複数選択ボックスのチェックボックスでは、「join(',', $__POST['name'])」を使用してデータを形成できます。

Vue3でセットアップに名前を追加する方法 Vue3でセットアップに名前を追加する方法 May 13, 2023 am 09:40 AM

Vue3 での名前の用途は何ですか? 1. 再帰コンポーネントを作成するときに名前を定義する必要がある 2. コンポーネントは keep-aliveincludeexclude でキャッシュできる 3. Vue がエラーを報告するときやデバッグしているときに、コンポーネントの名前が表示される Vue3 では name1 が定義されています。セットアップ構文のシュガー モードがスクリプトでオンになっている限り、自動的に生成されます 単一ファイル コンポーネント 対応する名前オプションは、ファイル名に基づいて自動的に生成されます たとえば、Tree.vue の場合、その名前は Tree によって自動的に生成されますこれには欠点があり、名前を変更したい場合はコンポーネント名も変更する必要があり、コンポーネントをインポートする場所がある場合はそれも一緒に変更する必要があります。 2. スクリプトを開いて名前を定義します

Java プログラムはさまざまなアクセス レベルを表示します Java プログラムはさまざまなアクセス レベルを表示します Aug 19, 2023 pm 10:09 PM

アクセス修飾子は、Java プログラミング言語の特定のクラス、インターフェイス、変数、メソッド、コンストラクター、データ メンバー、およびセッター メソッドの可視性の機能を設定するために使用されます。Java 環境では、さまざまな種類のアクセス修飾子があります。デフォルト - 関数を宣言すると、その関数は特定のパッケージでのみ表示されます。 Private - 関数を宣言すると、その関数は特定のクラスでのみ使用可能になります

Javaでpublic修飾子を使用する方法 Javaでpublic修飾子を使用する方法 Apr 18, 2023 pm 06:04 PM

1. 他のクラスは、public として宣言されたクラス、メソッド、コンストラクター、およびインターフェイスにアクセスできます。 2. 相互にアクセスするパブリック クラスが異なるパッケージで配布されている場合は、対応するパブリック クラスが配置されているパッケージをインポートする必要があります。クラスの継承により、すべてのパブリック メソッドと変数はそのサブクラスに継承できます。例 publicclassdemo1{publicstaticvoidmain(String[]args){personp1=newperson();p1.fn();System.out.println(p1.a);//100System.out.println(p1.scorce);/

See all articles