PHP对象多态性简单图形计算器高洛峰细说PHP-创新互联

主程序页面 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>&nbsp;&nbsp;&nbsp;||&nbsp;&nbsp;&nbsp;     <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;     }      }

浏览器 矩形页面

PHP 对象  多态性 简单图形计算器 高洛峰 细说PHP

浏览器 三角形页面

PHP 对象  多态性 简单图形计算器 高洛峰 细说PHP

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。

新闻标题:PHP对象多态性简单图形计算器高洛峰细说PHP-创新互联
文章源于:https://www.cdcxhl.com/article16/dicedg.html

成都网站建设公司_创新互联,为您提供定制网站定制开发搜索引擎优化企业网站制作标签优化响应式网站

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

绵阳服务器托管