面向对象案例(以面向对象的方式开发简易计算器)

本文通过面向对象的方式,逐步讲解如何搭建一个简单的计算器。首先,在前端建立计算器界面并用JavaScript进行数值校验。接着,创建一个计算类用于处理数值计算。最后,设计一个类负责接收前端输入,校验数据并调用计算类输出结果。

1、搭建一个简单的计算器界面

<html>
<head>
<title>我的计算器</title>
    <script language="javascript">
        function  check(){
            var  num1val=document.getElementById("num1").value;
            var  num1va2=document.getElementById("num2").value;
           //isNaN()判断是否值不是数字,如果不是数字则为真,否则为假。
            if(isNaN(num1val) || isNaN(num1va2)){
                window.alert("num1和num2必须是数值");
                return false;
            }
        }
    </script>
</head>
<body>
<h1>我的计算器</h1>
<form action="result.php" method="post" onsubmit="return check()">
    num1:<input type="text" name="num1" id="num1"><br/>
    num2:<input type="text" name="num2" id="num2"><br/>
    oper:
    <select name="oper">
        <option value="+">+</option>
        <option value="-">-</option>
        <option value="*">*</option>
        <option value="/">/</option>
    </select><br/>
    <input type="submit" value="计算">
</form>
</body>
</html>

在前端界面中,利用JavaScript对提交的数据进行校验。写一个check()方法。检验是否提交的数据都为数值,不符合要求则弹出提示框。isNaN()判断是否值不是数字,如果不是数字则为真,否则为假。

2、创建一个类,专门用于计算数值。

// 定义一个专门提供计算机计算的类
     class OperServer{
         public function  getResult($num1,$num2,$oper){
             switch($oper){
                 case "+":
                     return $num1+$num2;
                 break;
                 case "-":
                     return $num1-$num2;
                     break;
                 case "*":
                     return $num1*$num2;
                     break;
                 case "/":
                     return $num1/$num2;
                     break;
                 default:
                     echo "操作符有误";
             }
         }
     }

3、创建一个类,输出计算结果。

此类用于获取前端传过来的数值,并进行校验是否设值,并创建一个新对象,传给计算类,就算完毕返回值并输出。

<?php
/**
 * Created by PhpStorm.
 * User: mazhulin
 * Date: 2017/7/22
 * Time: 18:06
 */
    //isset 检验变量是否设值
//接收三个值
    if(isset($_REQUEST['num1'])){
        $num1=$_REQUEST['num1'];
    }
    if(isset($_REQUEST['num2'])){
    $num2=$_REQUEST['num2'];
    }
    if(isset($_REQUEST['oper'])){
    $oper=$_REQUEST['oper'];
    }
//引入类 require_once
  require_once  "OperServer.class.php";
//创建一个对象
    $operServer1 = new OperServer();
echo $operServer1->getResult($num1,$num2,$oper);

isset 检验变量是否设值 ;引入类方法 require_once

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值