オブジェクトとクラス
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
#contents
* 命名規則 [#o23d5b97]
** クラス [#md834e7b]
- 半角英字のみ利用可能
- [_]はパスの区切りもとしてだけ利用可能
- 単語の最初も文字は大文字
- ファイル名も従う
&color(red,クラス名の例: Zend_Pdf);~
&color(red,ファイル名の例: Zend/Pdf.php);
** 関数とメソッド [#r7aff179]
- 半角英字のみ利用可能
- 最初の文字は小文字、単語の最初の文字は大文字
- できるだけ省略しないようにする
- デザインパターンを使用する場合はデザインパターン名を含...
&color(red,関数名の例: filterInput());
** 変数 [#a307e949]
- 半角英字のみ利用可能
- 最初の文字は小文字、単語の最初の文字は大文字
- できるだけ省略しないようにする
- private,protectedいずれかのアクセス修飾子を宣言する変数...
** 定数 [#k182b15d]
- 半角英数字と[_]利用可能
- 全ての文字は大文字、単語の区切りは[_]とする
- constで宣言する
&color(red,定数名の例: EMBED_SUPPRESS_EMBED_EXCEPTION);
* クラスの基礎 [#s88b4149]
** コンストラクタ [#a2021155]
クラスをインスタンス化する際に最初に実行されるメソッド「_...
<?php
class MyClass {
public function __construct() {
echo("MyClassをインスタンス化");
}
}
$objCls = new MyClass();
?>
** デストラクタ [#k504ac92]
オブジェクトが破棄される際に実行されるメソッド「__destruc...
<?php
class MyClass {
public function __destruct() {
echo("MyClassを破棄");
}
public function myMethod() {
echo("myMethodを実行<br>");
}
}
$objCls = new MyClass();
$objCls->myMethod();
?>
** アクセス修飾子 [#d112db0a]
|CENTER:BGCOLOR(#CCCCCC):修飾子|CENTER:BGCOLOR(#CCCCCC):...
|public|全てのクラスからアクセス可能(デフォルト)|
|protected|現在のクラスと現在のクラスを継承したサブクラス...
|private|現在のクラスからのみアクセス可能|
** final修飾子 [#t969bf9a]
クラスの継承やメソッドのオーバーライド(上書き)を禁止する~
class,function の直前に書く
** オーバーロード [#n63a1d02]
オーバーライドとは異なる~
未定義のプロパティ、メソッド、クラスに対応する
*** プロパティのオーバーロード [#u8faa9e8]
- __set : 未定義のプロパティに値が設定されるときに自動的...
引数はプロパティ名($name)と値($value)
- __get : 未定義のプロパティの値を取得されるときに自動的...
引数はプロパティ名($namer)で、値を返す必要がある
*** メソッドのオーバーロード [#rc53231d]
未定義のメソッドが実行されるとFATAL ERRORになるが、これを...
引数はメソッド名($method)とメソッドの引数が含まれる配列($...
*** クラスのオーバーロード [#uc82a761]
未定義のクラスのオブジェクトを作成するとFATAL ERRORになる...
引数はクラス名($name)
** 静的プロパティとメソッド [#i6920727]
*** 静的プロパティ [#d1600dcd]
通常プロパティはオブジェクトごとに異なる変数として扱われ...
クラス内で参照する場合: self::プロパティ名~
クラス外で参照する場合: クラス名::プロパティ名
*** スタティックメソッド [#s1d4b9de]
クラス外から静的にコールするためのメソッド~
static宣言をする
クラス内で参照する場合: self::メソッド名~
クラス外で参照する場合: クラス名::メソッド名
** 抽象メソッドとクラス [#jc1bce2e]
*** 抽象メソッド [#u49ead28]
functionの直前にabstract宣言をすると下位クラスにおいて実...
*** 抽象クラス [#he005636]
classの直前にabstract宣言をすると直接インスタンスを生成す...
** インターフェース [#g6d337d2]
複数のクラスを継承したい場合にインターフェースを持つクラ...
インターフェースはクラスのメソッド名や引数のみ定義する
interface MyMail
{
function sendMail($to);
}
インターフェースを利用するクラスではimplementsを使用する
class MyNewShop extends MyShop implements MyMail
{
function sendMail($to)
{
//
}
}
終了行:
#contents
* 命名規則 [#o23d5b97]
** クラス [#md834e7b]
- 半角英字のみ利用可能
- [_]はパスの区切りもとしてだけ利用可能
- 単語の最初も文字は大文字
- ファイル名も従う
&color(red,クラス名の例: Zend_Pdf);~
&color(red,ファイル名の例: Zend/Pdf.php);
** 関数とメソッド [#r7aff179]
- 半角英字のみ利用可能
- 最初の文字は小文字、単語の最初の文字は大文字
- できるだけ省略しないようにする
- デザインパターンを使用する場合はデザインパターン名を含...
&color(red,関数名の例: filterInput());
** 変数 [#a307e949]
- 半角英字のみ利用可能
- 最初の文字は小文字、単語の最初の文字は大文字
- できるだけ省略しないようにする
- private,protectedいずれかのアクセス修飾子を宣言する変数...
** 定数 [#k182b15d]
- 半角英数字と[_]利用可能
- 全ての文字は大文字、単語の区切りは[_]とする
- constで宣言する
&color(red,定数名の例: EMBED_SUPPRESS_EMBED_EXCEPTION);
* クラスの基礎 [#s88b4149]
** コンストラクタ [#a2021155]
クラスをインスタンス化する際に最初に実行されるメソッド「_...
<?php
class MyClass {
public function __construct() {
echo("MyClassをインスタンス化");
}
}
$objCls = new MyClass();
?>
** デストラクタ [#k504ac92]
オブジェクトが破棄される際に実行されるメソッド「__destruc...
<?php
class MyClass {
public function __destruct() {
echo("MyClassを破棄");
}
public function myMethod() {
echo("myMethodを実行<br>");
}
}
$objCls = new MyClass();
$objCls->myMethod();
?>
** アクセス修飾子 [#d112db0a]
|CENTER:BGCOLOR(#CCCCCC):修飾子|CENTER:BGCOLOR(#CCCCCC):...
|public|全てのクラスからアクセス可能(デフォルト)|
|protected|現在のクラスと現在のクラスを継承したサブクラス...
|private|現在のクラスからのみアクセス可能|
** final修飾子 [#t969bf9a]
クラスの継承やメソッドのオーバーライド(上書き)を禁止する~
class,function の直前に書く
** オーバーロード [#n63a1d02]
オーバーライドとは異なる~
未定義のプロパティ、メソッド、クラスに対応する
*** プロパティのオーバーロード [#u8faa9e8]
- __set : 未定義のプロパティに値が設定されるときに自動的...
引数はプロパティ名($name)と値($value)
- __get : 未定義のプロパティの値を取得されるときに自動的...
引数はプロパティ名($namer)で、値を返す必要がある
*** メソッドのオーバーロード [#rc53231d]
未定義のメソッドが実行されるとFATAL ERRORになるが、これを...
引数はメソッド名($method)とメソッドの引数が含まれる配列($...
*** クラスのオーバーロード [#uc82a761]
未定義のクラスのオブジェクトを作成するとFATAL ERRORになる...
引数はクラス名($name)
** 静的プロパティとメソッド [#i6920727]
*** 静的プロパティ [#d1600dcd]
通常プロパティはオブジェクトごとに異なる変数として扱われ...
クラス内で参照する場合: self::プロパティ名~
クラス外で参照する場合: クラス名::プロパティ名
*** スタティックメソッド [#s1d4b9de]
クラス外から静的にコールするためのメソッド~
static宣言をする
クラス内で参照する場合: self::メソッド名~
クラス外で参照する場合: クラス名::メソッド名
** 抽象メソッドとクラス [#jc1bce2e]
*** 抽象メソッド [#u49ead28]
functionの直前にabstract宣言をすると下位クラスにおいて実...
*** 抽象クラス [#he005636]
classの直前にabstract宣言をすると直接インスタンスを生成す...
** インターフェース [#g6d337d2]
複数のクラスを継承したい場合にインターフェースを持つクラ...
インターフェースはクラスのメソッド名や引数のみ定義する
interface MyMail
{
function sendMail($to);
}
インターフェースを利用するクラスではimplementsを使用する
class MyNewShop extends MyShop implements MyMail
{
function sendMail($to)
{
//
}
}
ページ名: