亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

三角形的計(jì)算

上一節(jié)提到的一次記載多個(gè)類別檔案其實(shí)可以使用php提供的魔術(shù)發(fā)放_(tái)_autoload()來(lái)實(shí)作

程式碼如下:

<?php
function __autoload($classname) { //魔術(shù)方法 自動(dòng)加載類
    require "./$classname.class.php"; //將類名轉(zhuǎn)化成小寫
}


#只要對(duì)應(yīng)的類別被實(shí)例化時(shí)就會(huì)自動(dòng)呼叫這個(gè)方法,系統(tǒng)內(nèi)部程式碼會(huì)自動(dòng)去尋找到類別檔案的名稱,賦值給$classname,

這樣做的好處是能夠做到延遲載入,當(dāng)實(shí)例化對(duì)應(yīng)的類別時(shí)才會(huì)載入這個(gè)方法,避免了一次引入很多類別檔案,還可能用不到

三角形的計(jì)算方式

新建Triangle.class.php檔,

三角形需要注意三條邊必須滿足兩邊之和大於第三邊,不能為字母或小於0,面積和周長(zhǎng)的計(jì)算方式不一樣,其他的建構(gòu)基本和矩形類似

具體程式碼如下:

<?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 = "三角形";
        $this->error = '';
    }
    function area() {
        $p = ($this->bian1 + $this->bian2 + $this->bian3) / 2;
        //  p(p-a)(p-b)(p-c)
        return sqrt($p*($p-$this->bian1)*($p-$this->bian2)*($p-$this->bian3));
    }
    function zhou() {
        return $this->bian1+$this->bian2+$this->bian3;
    }
    function view($arr) {
        $form='';
        $form .= "<form action='index.php?action=triangle' method='post'>";
        $form .= "請(qǐng)輸入".$arr['name']."的第一條邊:<input type='text' name='bian1' value='".$_POST['bian1']."'/><br>";
        $form .= "<br>";
        $form .= "請(qǐng)輸入".$arr['name']."的第二條邊:<input type='text' name='bian2' value='".$_POST['bian2']."'/><br>";
        $form .= "<br>";
        $form .= "請(qǐng)輸入".$arr['name']."的第三條邊:<input type='text' name='bian3' value='".$_POST['bian3']."'/><br>";
        $form .= "<br>";
        $form .= "<input type='submit' name='sub' value='提交'/>    ";
        $form .= "<input type='reset' name='ret' value='重置'/>";
        $form .= "</form>";
        echo $form;
    }
    function yan($arr) {
        $bz = true;
        if ($arr['bian1']< 0) {
            $this->error .= "第一條邊小于0;";
            $bz = false;
        } else {
            if (!is_numeric($arr['bian1'])) {
                $this->error .= "第一條邊不是數(shù)字;";
                $bz = false;
            }
        }
        if ($arr['bian2']< 0) {
            $this->error .= "第二條邊小0;";
            $bz = false;
        } else {
            if (!is_numeric($arr['bian2'])) {
                $this->error .= "第二條邊不是數(shù)字;";
                $bz = false;
            }
        }
        if ($arr['bian2']< 0) {
            $this->error .= "第三條邊小于0;";
            $bz = false;
        } else {
            if (!is_numeric($arr['bian2'])) {
                $this->error .= "第三條邊不是數(shù)字;";
                $bz = false;
            }
        }
        if (($this->bian1+$this->bian2) < $this->bian3 ||($this->bian1+$this->bian3) < $this->bian2 ||($this->bian2+$this->bian3) < $this->bian1) {
            $this->error .= "三條邊不能構(gòu)成三角形";
            $bz = false;
        }
        return $bz;
    }
}
?>

運(yùn)行結(jié)果展示:
gif5新文件 (30).gif

繼續(xù)學(xué)習(xí)
||
<?php echo "三角形的周長(zhǎng)和面積的計(jì)算";
提交重置程式碼