Rechteckberechnung
Angesichts der Tatsache, dass es viele Arten von Grafiken gibt, k?nnen wir zun?chst eine abstrakte Grafikklasse erstellen, um Eigenschaften und Methoden bereitzustellen, die allen Grafiken gemeinsam sind.
Auf diese Weise Andere Grafiken k?nnen es direkt erben, wodurch die Coderedundanz reduziert und objektorientiertes Denken eingehalten wird
1. Erstellen Sie eine neue Shap.class .php-Datei
Der Name der Grafik $name, die Fehlermeldung $error, der Perimeterbereich() und der Bereich zhou() sowie ein Verifizierungszeichen Erstellen Sie nach jeder Berechnung ()
<?php abstract class Shape { private $name; private $error; abstract function area(); abstract function zhou(); abstract function view($arr); abstract function yan($arr); } ?>
2 Rect.class.php Datei
Nach dem Erstellen einer Rechteckklasse erben Sie die Grafikklasse und implementieren die entsprechenden Methoden. Zus?tzlich zu den geerbten Eigenschaften und Methoden verfügt jede Grafik über ihre eigenen einzigartigen Eigenschaften und Methoden , ein Rechteck hat eine L?nge und eine Breite, eine Kugel hat einen Kugelradius usw.
Definieren Sie die Eigenschaften des Rechtecks ??$width und $height
Verwenden Sie den Konstruktor Die Funktion instanziiert es, indem sie Name und Fehler automatisch Werte zuweist
, um die Fl?che bzw. den Umfang zu berechnen
Nachdem Sie auf das Rechteck geklickt haben, müssen Sie das Eingabefeld anzeigen Gleichzeitig müssen Sie es nur in einer Methodenansicht () definieren, um das Eingabefeld auszudrucken
Fügen Sie der rechteckigen Schaltfl?che eine Beschriftung hinzu
<a href='index.php?action=rect'>rectangle</a> |
Stellen Sie nach dem Klicken eine Get-Anfrage und zeigen Sie das in der Ansicht gedruckte Eingabefeld an. Der Code lautet wie folgt:
<?php if (!empty($_GET['action'])) { $shape = new Rect(); $shape->view(); }rrree
3 Drucken von Informationen
Neue Methoden in der Rechteckklasse hinzugefügt:
<?php class Rect extends Shape { private $width; private $height; function __construct() { $this->name = "矩形"; $this->error = ''; } function area() { return $this->width * $this->height; } function zhou() { return ($this->width+$this->height) * 2; } function view($arr) { $form=''; $form .= "<form action='index.php?action=rect' method='post'>"; $form .= "請(qǐng)輸入".$arr['name']."的寬度:<input type='text' name='width' value='".$_POST['width']."'/><br>"; $form .= "<br>"; $form .= "請(qǐng)輸入".$arr['name']."的長(zhǎng)度:<input type='text' name='height' value='".$_POST['height']."'/><br>"; $form .= "<br>"; $form .= "<input type='submit' name='sub' value='提交'/> "; $form .= "<input type='reset' name='ret' value='重置'/>"; $form .= "</form>"; echo $form; } } ?>
Verifizierungsinformationen drucken, Index . PHP-Code:
<?php function yan($arr) { $bz = true; if ($arr['width']< 0) { $this->error .= "寬度小于0;"; $bz = false; } else { if (!is_numeric($arr['width'])) { $this->error .= "寬不是數(shù)字;"; $bz = false; } } if ($arr['height']< 0) { $this->error .= "寬度小于0;"; $bz = false; } else { if (!is_numeric($arr['height'])) { $this->error .= "高不是數(shù)字;"; $bz = false; } } return $bz; }
Wenn die Verifizierungsinformationen korrekt sind, drucken Sie den richtigen Umfang und die richtige Fl?che aus:
if (!$shape->yan($_POST)) { echo "<b>錯(cuò)誤:$shape->error</b>"; } echo "</div>";
Laufergebnis:
Denken: Sie müssen die Datei Rect.class.php in index.php einführen, erfordern 'Rect.class.php';
Es muss auch bei der Berechnung anderer Grafiken importiert werden. Gibt es eine M?glichkeit, alle Klassendateien auf einmal zu importieren?