Dreiecksberechnungen
Die im vorherigen Abschnitt erw?hnte einmalige Aufzeichnung mehrerer Klassendateien kann tats?chlich mithilfe des von PHP bereitgestellten magischen __autoload verteilt werden () zum Implementieren von
Der Code lautet wie folgt:
<?php function __autoload($classname) { //魔術(shù)方法 自動加載類 require "./$classname.class.php"; //將類名轉(zhuǎn)化成小寫 }
Diese Methode wird automatisch aufgerufen, solange die entsprechende Klasse instanziiert ist. Der interne Code des Systems findet automatisch den Namen der Klassendatei und weist ihn $classname zu,
Der Vorteil davon ist, dass das Laden verz?gert werden kann und nur geladen wird, wenn die entsprechende Klasse instanziiert wird. Diese Methode vermeidet die gleichzeitige Einführung vieler Klassendateien und verwendet m?glicherweise nicht die Berechnungsmethode von Dreiecken
>Erstellen Sie eine neue Triangle.class.php-Datei,
Dreieck muss beachtet werden Dies bedeutet, dass die drei Seiten erfüllen müssen, dass die Summe der beiden Seiten gr??er als die dritte Seite ist und kein Buchstabe oder kleiner als 0 sein darf. Die Fl?che und der Umfang werden auf unterschiedliche Weise berechnet. Die anderen Strukturen ?hneln im Wesentlichen Rechteck
Spezifisch Der Code lautet wie folgt:
<?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 .= "請輸入".$arr['name']."的第一條邊:<input type='text' name='bian1' value='".$_POST['bian1']."'/><br>"; $form .= "<br>"; $form .= "請輸入".$arr['name']."的第二條邊:<input type='text' name='bian2' value='".$_POST['bian2']."'/><br>"; $form .= "<br>"; $form .= "請輸入".$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; } } ?>Laufende Ergebnisanzeige: