《PHP實例:PHP實現的簡單三角形、矩形周長面積計算器分享》要點:
本文介紹了PHP實例:PHP實現的簡單三角形、矩形周長面積計算器分享,希望對您有用。如果有疑問,可以聯系我們。
運用PHP面向對象的知識設計一個圖形計算器,同時也運用到了抽象類知識,這個計算器可以計算三角形的周長和面積以及矩形的周長和面積.本圖形計算器有4個頁面:1.PHP圖形計算器主頁index.php;??? 2.形狀的抽象類shape.class.php;??? 3三角形計算類triangle.class.php;??? 4.矩形計算類rect.class.php.PHP應用
PHP圖形計算器代碼點擊下載:?? php圖形計算器.zipPHP應用
代碼分別如下:PHP應用
PHP圖形計算器主頁:PHP應用
<html> ????<head> ????????<title>簡單的圖形計算器</title> ????????<meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> ????</head> ? ????<body> ????????<center> ????????????<h1>簡單的圖形計算器</h1> ? ????????????<a href="index.php?action=rect">矩形</a> || ????????????<a href="index.php?action=triangle">三角形</a> ????????</center> ? ????????<hr><br> ? ????<?php ????????????error_reporting(E_ALL & ~E_NOTICE); ? ????????????//設置自動加載這個程序需要的類文件 ????????????function __autoload($classname){ ????????????????include strtolower($classname).".class.php"; ????????????} ? ????????????//判斷用戶是否有選擇單擊一個形狀鏈接 ????????????if(!empty($_GET['action'])) { ????????????????//第一步:創建形狀的對象 ????????????????$classname = ucfirst($_GET['action']); ? ????????????????$shape=new $classname($_POST); ????????????????//第二步:調用形狀的對象中的界面view() ????????????????$shape -> view(); ? ????????????????//第三步:用戶是否提交了對應圖形界面的表單 ????????????????if(isset($_POST['dosubmit'])) { ????????????????????//第四步:查看用戶輸出的數據是否正確, 失敗則提示 ????????????????????if($shape->yan($_POST)) { ????????????????????????//計算圖形的周長和面積 ????????????????????????echo $shape->name."的周長為:".$shape->zhou()."<br>"; ????????????????????????echo $shape->name."的面積為:".$shape->area()."<br>"; ????????????????????} ????????????????} ? ????????????//如果用戶沒有單擊鏈接, 則是默認拜訪這個主程序 ????????????}else { ????????????????echo "請選擇一個要計算的圖形!<br>"; ? ????????????} ? ?????????> ????</body> </html>
形狀的抽象類:PHP應用
abstract class? Shape{ ????//形狀的名稱 ????public $name; ? ????//形狀的計算面積辦法 ????abstract function area(); ? ????//形狀的計算周長的辦法 ????abstract function zhou(); ? ????//形狀的圖形表單界面 ????abstract function view(); ????//形狀的驗證辦法 ????abstract function yan($arr); ? }
三角形計算類文件:PHP應用
class Triangle extends Shape { ????private $bian1; ????private $bian2; ????private $bian3; ? ????function __construct($arr = array()) { ????????if(!empty($arr)) { ????????????$this->bian1 = $arr['bian1']; ????????????$this->bian2 = $arr['bian2']; ????????????$this->bian3 = $arr['bian3']; ? ????????} ? ????????$this->name = "三角形"; ????} ? ????function area() { ????????$p =??? ($this->bian1 + $this->bian2 + $this->bian3)/2; ? ????????return sqrt($p*($p-$this->bian1)*($p-$this->bian2)*($p-$this->bian3)); ????} ? ????function zhou() { ????????return $this->bian1 + $this->bian2 + $this->bian3; ????} ? ????function view() { ????????$form = '<form action="index.php?action=triangle" method="post">'; ????????$form .= $this->name.'第一個邊:<input type="text" name="bian1" value="'.$_POST['bian1'].'" /><br>'; ????????$form .= $this->name.'第二個邊:<input type="text" name="bian2" value="'.$_POST['bian2'].'" /><br>'; ????????$form .= $this->name.'第三個邊:<input type="text" name="bian3" value="'.$_POST['bian3'].'" /><br>'; ????????$form .= '<input type="submit" name="dosubmit" value="計算"><br>'; ????????$form .='<form>'; ????????echo $form; ????} ? ????function yan($arr) { ????????$bj = true; ????????if($arr['bian1'] < 0) { ????????????echo "第一個邊不能小于0!<br>"; ????????????$bj = false; ????????} ? ????????if($arr['bian2'] < 0) { ????????????echo "第二個邊不能小于0!<br>"; ????????????$bj = false; ????????} ? ????????if($arr['bian3'] < 0) { ????????????echo "第三個邊不能小于0!<br>"; ????????????$bj = false; ????????} ? ????????if(($arr['bian1']+$arr['bian2'] < $arr['bian3']) || ($arr['bian1'] + $arr['bian3'] < $arr['bian2']) || ($arr['bian2']+$arr['bian3'] < $arr['bian1'])) { ????????????echo "兩邊之和必需大于第三個邊"; ????????????$bj = false; ????????} ? ????????return $bj; ????} }
矩形計算類文件:
PHP應用
class Rect extends Shape { ????private $width; ????private $height; ? ????function __construct($arr=array()) { ? ????????if(!empty($arr)) { ????????????$this->width = $arr['width']; ????????????$this->height = $arr['height']; ????????} ????????$this->name = "矩形"; ????} ? ????function area() { ????????return $this->width * $this->height; ????} ? ????function zhou() { ????????return 2*($this->width + $this->height); ????} ? ????function view() { ????????$form = '<form action="index.php?action=rect" method="post">'; ????????$form .= $this->name.'的寬:<input type="text" name="width" value="'.$_POST['width'].'" /><br>'; ????????$form .= $this->name.'的高:<input type="text" name="height" value="'.$_POST['height'].'" /><br>'; ????????$form .= '<input type="submit" name="dosubmit" value="計算"><br>'; ????????$form .='<form>'; ????????echo $form; ????} ? ????function yan($arr) { ????????$bg = true; ????????if($arr['width'] < 0) { ????????????echo $this->name."的寬不克不及小于0!<br>"; ????????????$bg = false;??? ????????} ? ????????if($arr['height'] < 0) { ????????????echo $this->name."的高度不克不及小于0!<br>"; ????????????$bg = false; ????????} ? ????????return $bg; ????} ? }
《PHP實例:PHP實現的簡單三角形、矩形周長面積計算器分享》是否對您有啟發,歡迎查看更多與《PHP實例:PHP實現的簡單三角形、矩形周長面積計算器分享》相關教程,學精學透。維易PHP學院為您提供精彩教程。