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 .= "请输入".$arr['name']."的宽度:<input type='text' name='width' value='".$_POST['width']."'/><br>"; $form .= "<br>"; $form .= "请输入".$arr['name']."的长度:<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 .= "宽不是数字;"; $bz = false; } } if ($arr['height']< 0) { $this->error .= "宽度小于0;"; $bz = false; } else { if (!is_numeric($arr['height'])) { $this->error .= "高不是数字;"; $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>错误:$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?