戻る

クラスを使用したプログラム(PHP4)

ゼリークラスを継承している、プリンクラス、ババロアクラスでは、aji()関数、toudo()関数、ue()関数、naka()関数は記述されていませんが、継承されています。

himitsu()関数とdekiagari()関数はオーバーライドされています。

┣index.php

<?php
//外部ファイルの取り込み
require_once("jelly.php");
require_once("pudding.php");
require_once("babaroa.php");

//初期設定
$syurui = "1";
$aji = "1";
$amasa = "0";
$topping = "0";
$kansei = "";

if($_SERVER["REQUEST_METHOD"] == "POST"){
	
	if(isset($_POST["submit"])){
		
		//種類
		if(isset($_POST["syurui"])){
			$syurui = $_POST["syurui"];
		}
		
		//味
		if(isset($_POST["aji"])){
			$aji = $_POST["aji"];
		}
		
		//甘さ
		if(isset($_POST["amasa"])){
			$amasa = $_POST["amasa"];
		}
		
		//トッピング
		if(isset($_POST["topping"])){
			$topping = $_POST["topping"];
		}
		
		//インスタンスの作成
		switch($syurui){
			case "1":
				$obj = new jelly($aji);
				break;
			case "2":
				$obj = new pudding($aji);
				break;
			case "3":
				$obj = new babaroa($aji);
				break;
		}
		
		$obj->toudo($amasa);
		$obj->ue($topping);
		$kansei = $obj->dekiagari();
	}
}
?>
<!DOCTYPE HTML>
<html lang="ja-JP">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<h2>ぷろぷるスィーツ♪ご注文♪</h2>
<?php
if($kansei > ""){
	echo "<b>" . $kansei . "</b><br><br>";
	echo "ですね(*^_^*)♪";
}
?>
<hr>
<form action="<?=$_SERVER["PHP_SELF"]?>" method="POST">
こちらからお好みをお選びください!<br>
<table border="1" width="600" cellspacing="0" cellpadding="0">
<?php
//種類
?>
<tr>
<td align="center" width="150" bgcolor="//e9967a">種類</td>
<td align="left" width="450">
 <input type="radio" name="syurui" value="1"<?if($syurui=="1"){echo " checked";}?>>ゼリー
 <input type="radio" name="syurui" value="2"<?if($syurui=="2"){echo " checked";}?>>プリン
 <input type="radio" name="syurui" value="3"<?if($syurui=="3"){echo " checked";}?>>ババロア
</td>
</tr>
<?php
//味
?>
<tr>
<td align="center" width="150" bgcolor="//e9967a">味</td>
<td align="left" width="450">
 <input type="radio" name="aji" value="1"<?if($aji=="1"){echo " checked";}?>>オレンジ
 <input type="radio" name="aji" value="2"<?if($aji=="2"){echo " checked";}?>>苺
 <input type="radio" name="aji" value="3"<?if($aji=="3"){echo " checked";}?>>マンゴー
 <input type="radio" name="aji" value="4"<?if($aji=="4"){echo " checked";}?>>珈琲
 <input type="radio" name="aji" value="5"<?if($aji=="5"){echo " checked";}?>>ミルク
</td>
</tr>
<?php
//甘さ
?>
<tr>
<td align="center" width="150" bgcolor="//e9967a">甘さ</td>
<td align="left" width="450">
 <input type="radio" name="amasa" value="0"<?if($amasa=="0"){echo " checked";}?>>なし
 <input type="radio" name="amasa" value="1"<?if($amasa=="1"){echo " checked";}?>>ちょっぴり
 <input type="radio" name="amasa" value="2"<?if($amasa=="2"){echo " checked";}?>>ほんのり
 <input type="radio" name="amasa" value="3"<?if($amasa=="3"){echo " checked";}?>>とっても
 <input type="radio" name="amasa" value="4"<?if($amasa=="4"){echo " checked";}?>>めちゃめちゃ
</td>
</tr>
<?php
//トッピング
?>
<tr>
<td align="center" width="150" bgcolor="//e9967a">トッピング</td>
<td align="left" width="450">
 <input type="radio" name="topping" value="0"<?if($topping=="0"){echo " checked";}?>>なし
 <input type="radio" name="topping" value="1"<?if($topping=="1"){echo " checked";}?>>生クリーム
 <input type="radio" name="topping" value="2"<?if($topping=="2"){echo " checked";}?>>フルーツソース
 <input type="radio" name="topping" value="3"<?if($topping=="3"){echo " checked";}?>>苺
 <input type="radio" name="topping" value="4"<?if($topping=="4"){echo " checked";}?>><font color="//e9967a">秘密</font>
</td>
</tr>
</table>
<font color="//e9967a">秘密のトッピングについてはお楽しみです♪</font><br>
<input type="submit" name="submit" value="    注文する    ">
</form>
</body>
</html>

┣jelly.php

<?php
//ゼリークラス
class jelly{
	var $m_aji = "味なし";
	var $m_amasa = "";
	var $m_topping = "";
	
	//コンストラクタ
	function jelly($aji){
		$this->m_aji = $this->aji($aji);
	}
	
	//味
	function aji($aji){
		switch($aji){
			case "1":
				return "オレンジ";
				break;
			case "2":
				return "苺";
				break;
			case "3":
				return "マンゴー";
				break;
			case "4":
				return "珈琲";
				break;
			case "5":
				return "ミルク";
				break;
		}
	}
	
	//甘さ
	function toudo($amasa){
		switch($amasa){
			case "0":
				$this->m_amasa = "甘くない";
				break;
			case "1":
				$this->m_amasa = "ちょっぴり甘い";
				break;
			case "2":
				$this->m_amasa = "ほんのりと甘い";
				break;
			case "3":
				$this->m_amasa = "とっても甘い";
				break;
			case "4":
				$this->m_amasa = "めちゃめちゃ甘い";
				break;
		}
	}
	
	//トッピング
	function ue($topping){
		switch($topping){
			case "0":
				$this->m_topping = "";
				break;
			case "1":
				$this->m_topping = "生クリームがたっぷりのった";
				break;
			case "2":
				$this->m_topping = "フルーツソースがかかった";
				break;
			case "3":
				$this->m_topping = "苺がのった";
				break;
			case "4":
				$this->m_topping = $this->himitsu();
				break;
		}
	}
	
	//秘密
	function himitsu(){
		return "お肌がすべすべになるエキスが入っている";
	}
	
	//出来上がり
	function dekiagari(){
		return $this->m_amasa . $this->m_topping . $this->m_aji . "ゼリー";
	}
}
?>

┣pudding.php

<?php
//プリンクラス
class pudding extends jelly{

	//コンストラクタ
	function pudding($aji){
		$this->m_aji = $this->aji($aji);
	}
	
	//秘密
	function himitsu(){
		return "一口食べると寿命が10年延びる";
	}
	
	//出来上がり
	function dekiagari(){
		return $this->m_amasa . $this->m_topping . $this->m_aji . "プリン";
	}
}
?>

┣babaroa.php

<?php
//ババロアクラス
class babaroa extends jelly{

	//コンストラクタ
	function babaroa($aji){
		$this->m_aji = $this->aji($aji);
	}
	
	//秘密
	function himitsu(){
		return "食べると口からダイアモンドが出てくる\(^o^)/";
	}
	
	//出来上がり
	function dekiagari(){
		return $this->m_amasa . $this->m_topping . $this->m_aji . "ババロア";
	}
}
?>

inserted by FC2 system