MochiuWiki : SUSE, EC, PCB
検索
個人用ツール
ログイン
Toggle dark mode
名前空間
ページ
議論
表示
閲覧
ソースを閲覧
履歴を表示
PHPの基礎 - クラスのソースを表示
提供: MochiuWiki : SUSE, EC, PCB
←
PHPの基礎 - クラス
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループのいずれかに属する利用者のみが実行できます:
管理者
、new-group。
このページのソースの閲覧やコピーができます。
== 概要 == クラスとは、何かを実行する物体の設計図のようなものである。<br> そして、クラスの仕様を決めるものがメソッドとメンバ変数である。<br> <br> ここでは、メソッドとメンバ変数の記述方法やその他で記述可能なものについて記載する。<br> <br><br> == クラスの定義 == クラスの定義を以下に示す。<br> <syntaxhighlight lang="php"> class クラス名 { // ...略 } </syntaxhighlight> <br> クラスからインスタンスを生成するには、<code>new</code>演算子を使用する。<br> 変数名 = new クラス名(引数); <br><br> == メンバ変数とメソッド == クラスには、値を保存するためのメンバ変数とクラスで行う処理を記述するメソッドがある。<br> <br> メンバ変数は、クラス内で値を保持するために使用する。<br> メンバ変数の記述方法は、以下の通りである。<br> <syntaxhighlight lang="php"> class クラス名 { アクセス修飾子 メンバ変数名; } </syntaxhighlight> <br> メソッドは、設計したクラスで実行する処理を関数の形で記述する。<br> メソッドの記述方法は、以下の通りである。<br> <syntaxhighlight lang="php"> class クラス名 { アクセス修飾子 function メソッド名() { // メソッドで行う処理 } } </syntaxhighlight> <br> 以下の例では、テレビクラスを定義している。<br> <syntaxhighlight lang="php"> class Television { private $channelNo; public function dispChannel() { print('現在のチャンネルは'.$this->channelNo); } } $tv = new Television(); </syntaxhighlight> <br> 以下の例では、テレビクラスのインスタンスを生成して、メンバ変数にチャンネル番号を代入している。<br> <syntaxhighlight lang="php"> $tv = new Television(); $tv->channelNo = 8; </syntaxhighlight> <br> 以下の例では、クラスのメソッドを実行している。<br> <syntaxhighlight lang="php"> $tv = new Television(); $tv->channelNo = 8; $tv->dispChannel(); </syntaxhighlight> <br><br> == 引数があるメソッド == メソッドには引数をとることもできる。<br> <syntaxhighlight lang="php"> class クラス名 { アクセス修飾子 function メソッド名(引数1, 引数2, ...) { // クラスの中で行う処理 } } </syntaxhighlight> <br> なお、クラス内でメンバ変数にアクセスする場合は、thisを使用して以下のように記述する。<br> $this->メンバ変数名; <br> 以下の例では、テレビクラスび新しいチャンネルを設定するメソッドを定義している。<br> setChannelメソッド内で、引数で渡された値をメンバ変数に代入して、クラス内のdispChannelメソッドを実行して、チャンネルを表示している。<br> <syntaxhighlight lang="php"> class Television { private $channelNo; private function dispChannel() { print('現在のチャンネルは'.$this->channelNo); } public function setChannel($channel) { $this->channelNo = $channel; $this->dispChannel(); } } $tv = new Television(); $tv->setChannel(5); </syntaxhighlight> <br><br> == アクセス修飾子 == アクセス修飾子とは、メンバ変数やメソッドのアクセス可能な範囲を指定するもので、<code>public</code>、<code>private</code>、<code>protected</code>の3種類がある。<br> アクセス修飾子を指定しない場合は、publicが指定されたものとみなされる。<br> <br> 各アクセス修飾子のアクセス権は、以下の通りである。<br> * public *: クラス内、クラス外のどこからでもアクセス可能。 * private *: 同じクラス内からのみアクセス可能。 * protected *: 同じクラス、及び子クラスからアクセス可能。 *: protectedはクラスを継承する場合に関係するものである。 <br> アクセス修飾子は、クラス外には見せたくない情報を守ることができる。<br> また、外部から直接呼び出す必要が無いメソッドに対しても、呼び出せないようにすることも明確にできる。<br> <br> これにより、誤った使用を未然に防止することやメンバ変数とメソッドの意味を理解しやすくなる。<br> <br><br> __FORCETOC__ [[カテゴリ:Web]]
PHPの基礎 - クラス
に戻る。
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
Collapse