Ruby

カテゴリー:  閲覧数:127 配信日:2013-03-03 00:02


■クラス定義(単にクラスを定義しただけで何の機能も持たないクラス)
 
class Product{//「class」というキーワードの後ろに好きなクラス名を記述。クラスの開始と終了を表す「{」「}」を記述
}

▼結果(単にクラスを定義しただけなので、結果には何も表示されない)

http://php.w4c.work/0-PROTOTYPE/class0.html






■クラス独自の変数である「プロパティ」(フィールド/メンバ変数ともいう)を定義

class Product{
   private $name;  // 商品名。「private修飾子」→外部からのアクセス不可
   private $price;   // 価格。「private修飾子」→外部からのアクセス不可
}

▼結果(プロパティを定義しただけで、どこからも呼び出していないので、結果には何も表示されない)

http://php.w4c.work/0-PROTOTYPE/class01.html






■メソッド(クラスにおける関数)を定義

class Product{
   private $name;  // 商品名
   private $price;   // 価格

   public function getName(){   // ゲッター(商品名を取得)。「public修飾子」→外部からのアクセス可
       return $this->name; //  「$this」→クラス内に記述することで、クラス自身を指す。「$this->name」 →「Productクラス自身の$nameプロパティ」の意
   }

   public function setName($name){   // セッター(商品名を設定)。「public修飾子」→外部からのアクセス可
       $this->name = $name; //  「$this」→クラス内に記述することで、クラス自身を指す。「$this->name」 →「Productクラス自身の$nameプロパティ」の意
   }  
}

▼結果(出力処理を記述していないので、結果には何も表示されない)

http://php.w4c.work/0-PROTOTYPE/class02.html







■インスタンスを使ってメンバ(プロパティ・メソッド)へアクセス(PHP4) - ゲッター・セッター不使用
PHP4で、クラス定義内に、変数(プロパティ)の定義をする際は、変数の前に必ず「var」と記述

 
   class SIGNAL{//「SIGNAL」という名の「クラス」を定義
       var $red = "stop";//メンバ変数(プロパティ)を定義
       var $blue = "go";//メンバ変数(プロパティ)を定義
       var $yellow = "caution";//メンバ変数(プロパティ)を定義
       function check(){//メンバ関数(メソッド)を定義
           echo "左右を見て横断歩道を渡りましょう";
       }
   }
   
   $obj = new SIGNAL();//「new演算子」によって、クラス「SIGNAL」の「インスタンスオブジェクト」を生成し、「変数$obj」へ格納
   
   echo $obj->red;//オブジェクトが持つメンバ変数(プロパティ)を利用
   echo "";
   $obj->check();//オブジェクトが持つメンバ関数(メソッド)を使用

▼結果

http://php.w4c.work/0-PROTOTYPE/class1.html







■インスタンスを使ってメンバ(プロパティ・メソッド)へアクセス(PHP5) - ゲッター・セッター不使用

 
   class SIGNAL{
       public $red = "stop";//プロパティ(メンバ変数)定義
       public $blue = "go";
       public $yellow = "caution";
       public function check(){//メソッド(メンバ関数)定義
           echo "左右を見て横断歩道を渡りましょう";
       }
   }
   
   $obj = new SIGNAL();
   
   echo $obj->red;
   echo "";
   $obj->check();

▼結果

http://php.w4c.work/0-PROTOTYPE/class1_5.html







■インスタンスを使ってメンバ(プロパティ・メソッド)へアクセス(PHP5) - プロパティへのアクセスにゲッター・セッター利用

 
   class SIGNAL{
       private $red = "stop";
       private $blue = "go";
       private $yellow = "caution";
   public function getRed(){   // ゲッター
       return $this->name;
   }

   public function setRed($name){   // セッター
       $this->name = $name;
   }  
       public function check(){
           echo "左右を見て横断歩道を渡りましょう";
       }
   }
   
   $obj = new SIGNAL();

$obj ->setRed("赤は止まれ"); // プロパティ設定を上書き
   
   $signalRed = $obj ->getRed(); // プロパティ設定を取得

   var_dump($signalRed);

   echo "";
   $obj->check();

▼結果

http://php.w4c.work/0-PROTOTYPE/class1_5_1.html






■インスタンスを使ってメンバ(プロパティ)へアクセス(PHP5) - 一般的な使用例

 
class Product{
   private $name;  // 商品名
   private $price;   // 価格

   public function getName(){   // ゲッター
       return $this->name;
   }

   public function setName($name){   // セッター
       $this->name = $name;
   }  
}

   $product = new Product();

$product ->setName("本"); // 商品名を設定
   
   $productName = $product->getName(); // 商品名を取得

var_dump($productName);

▼結果

http://php.w4c.work/0-PROTOTYPE/class03.html



週間人気ページランキング / 4-26 → 5-2
順位 ページタイトル抜粋 アクセス数
1 syntax error, unexpected tIDENTIFIER, expecting '}' | エラーメッセージ 2
2 ブロック | 文法 1
2 self | 文法 1
2 変数(variable) | 文法 1
2 アクセスメソッド(アクセサ) | 文法 1
2025/5/3 1:02 更新