Paparan kod keseluruhan
1, direktori projek
2, semua paparan kod:
index.php:
Shape.class.php:
Cirle.class.php:
<!doctype html> <html> <head> <meta charset="utf-8"> <title>圖形計算器</title> <style> * { margin: 0px; padding: 0px; } #contains { width: 500px; margin: 20px auto; background: skyblue; text-align: center; } h1 { width: 500px; height: 60px; } a { font-size: 20px; text-decoration: none; } #footer { width: 300px; background: #fff; margin: 0 auto; padding: 5px 10px; border-radius: 150px; } </style> </head> <body> <div id="contains"> <h1>簡易圖形計算器</h1> <a href='index.php?action=rect'>矩形</a> | <a href='index.php?action=triangle'>三角形</a> | <a href='index.php?action=cirle'>圓形</a> | <a href='index.php?action=sphere'>球體</a> <hr> <?php ini_set("display_errors", "On"); //開啟錯誤調(diào)試 //設(shè)置錯誤報告的級別,除了無關(guān)緊要的'注意',其他的報告都輸出 error_reporting(E_ALL & ~E_NOTICE); function __autoload($classname) { //魔術(shù)方法 自動加載類 require "./$classname.class.php"; //將類名轉(zhuǎn)化成小寫 } if (!empty($_GET['action'])) { // echo "傳送成功"; $classname = ucfirst($_GET['action']); $shape = new $classname($_POST); $shape->view($_POST); if (isset($_POST['sub'])) { echo "<div id='footer'>"; if($shape->name!='球體'){ if ($shape->yan($_POST)) { echo "<b>".$shape->name."的周長".$shape->zhou()."</b>"."<br>"; echo "<br>"; echo "<b>".$shape->name."的面積".$shape->area()."</b>"."<br>"; }else { echo "<b>錯誤:$shape->error</b>"; } echo "</div>"; }else{ if ($shape->yan($_POST)) { echo "<b>".$shape->name."的表面積".$shape->area()."</b>"."<br>"; echo "<br>"; echo "<b>".$shape->name."的體積".$shape->zhou()."</b>"."<br>"; }else { echo "<b>錯誤:$shape->error</b>"; } echo "</div>"; } } } else { echo "請選擇一個圖形"; } ?> </div> </body> </html>
Sphere.class.php:
<?php abstract class Shape { private $name; private $error; abstract function area(); abstract function zhou(); abstract function view($arr); abstract function yan($arr); } ?>
Sfera.class.php: