主程序页面 test.php页面
我们提供的服务有:做网站、成都网站建设、微信公众号开发、网站优化、网站认证、襄州ssl等。为1000+企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的襄州网站制作公司<!DOCTYPE html> <html> <head> <title>简单的图形计算器</title> <meta http-equiv = "Content-Type" content = "text/html;charset=utf-8" /> </head> <body> <center> <h2>简单的图形计算器</h2> <a href = "test.php?action=rectangle">矩形</a> || <a href = "test.php?action=triangle">三角形</a> </center> <br/><hr> <?php //屏蔽E_NOTICE提示 error_reporting(E_ALL & ~E_NOTICE); //设置自动加载这个程序需要的类文件 function __autoload($classname){ include $classname.'.class.php'; } //判断用户是否单击一个形状链接 if(!empty($_GET['action'])){ //第一步:创建形状的对象 $classname = ucfirst($_GET['action']); $shape = new $classname($_POST); //第二步:调用形状的对象中的图形界面 $shape->view(); //第三步:用户是否提交了对应的图形界面的表单 if(isset($_POST['dosubmit'])){ //第四步:查看用户输入的数据是否合法,不合法则提示 if($shape->validate($_POST)){ //第五步:计算图形的面积和周长 echo $shape->name.'的面积为:'.$shape->area().'<br/>'; echo $shape->name.'的周长为:'.$shape->circumference().'<br/>'; } } }else{//如果用户没有单击则默认访问主程序 echo '请选择一个要计算的图形'; } ?> </body> </html>形状抽象类Shape.class.php页面
<?php //形状抽象类 abstract class Shape{ public $name; //面积 abstract function area(); //周长 abstract function circumference(); //图形界面 abstract function view(); //形状验证方法 abstract function validate($arr); }矩形类Rectangle.class.php页面
<?php //矩形类 class Rectangle 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 circumference(){ return 2*($this->width+$this->height); } //图形界面 function view(){ $form = '<form action="test.php?action=rectangle" 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 validate($arr){ $flag = true; if($arr['width']<0 || !is_numeric($arr['width'])){ echo $this->name.'的宽必须是大于0的整数<br/>'; $flag = false; } if($arr['height']<0 || !is_numeric($arr['height'])){ echo $this->name.'的高必须是大于0的整数<br/>'; $flag = false; } return $flag; } }三角形类Triangle.class.php页面
<?php //三角形类 class Triangle extends Shape{ private $edge1; private $edge2; private $edge3; function __construct($arr=array()){ if(!empty($arr)){ $this->edge1 = $arr['edge1']; $this->edge2 = $arr['edge2']; $this->edge3 = $arr['edge3']; } $this->name = '三角形'; } function area(){ $p =($this->edge1+$this->edge2+$this->edge3)/2; return sqrt($p*($p-$this->edge1)*($p-$this->edge2)*($p-$this->edge3)); } //周长 function circumference(){ return ($this->edge1+$this->edge2+$this->edge3); } //图形界面 function view(){ $form = '<form action="test.php?action=triangle" method="post">'; $form .= $this->name.'的第一个边:<input type="text" name="edge1" value="'.$_POST['edge1'].'" /> <br/>'; $form .= $this->name.'的第二个边:<input type="text" name="edge2" value="'.$_POST['edge2'].'" /> <br/>'; $form .= $this->name.'的第三个边:<input type="text" name="edge3" value="'.$_POST['edge3'].'" /> <br/>'; $form .= '<input type="submit" name="dosubmit" value="计算" /> <br/>'; $form .= '</form>'; echo $form; } //形状验证方法 function validate($arr){ $flag = true; if($arr['edge1']<0 || !is_numeric($arr['edge1'])){ echo $this->name.'的第一边必须是大于0的整数<br/>'; $flag = false; } if($arr['edge2']<0 || !is_numeric($arr['edge2'])){ echo $this->name.'的第二边必须是大于0的整数<br/>'; $flag = false; } if($arr['edge3']<0 || !is_numeric($arr['edge3'])){ echo $this->name.'的第三边必须是大于0的整数<br/>'; $flag = false; } if(($arr['edge1']+$arr['edge2']<$arr['edge3']) || ($arr['edge1']+$arr['edge3']<$arr['edge2'])||($arr['edge3']+$arr['edge2']<$arr['edge1']) ){ echo '三角形定义必须两边之和大于第三边<br/>'; $flag = false; } return $flag; } }浏览器 矩形页面
浏览器 三角形页面
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
新闻标题:PHP对象多态性简单图形计算器高洛峰细说PHP-创新互联
文章源于:https://www.cdcxhl.com/article16/dicedg.html
成都网站建设公司_创新互联,为您提供定制网站、定制开发、搜索引擎优化、企业网站制作、标签优化、响应式网站
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联