Memandangkan terdapat banyak jenis grafik, kami boleh membina kelas abstrak grafik terlebih dahulu untuk menyediakan sifat dan kaedah yang biasa kepada semua grafik,
Dengan cara ini, grafik lain boleh mewarisinya secara langsung, mengurangkan lebihan kod dan mematuhi Pemikiran berorientasikan objek
1, buat fail Shap.class.php baharu
nama bentuk $nama, mesej ralat $ralat, kawasan perimeter() dan kawasan zhou(), dan selepas setiap pengiraan terdapat Sahkan yan()
<?php abstract class Shape { private $name; private $error; abstract function area(); abstract function zhou(); abstract function view($arr); abstract function yan($arr); } ?>
2, buat fail Rect.class.php baharu
Selepas mencipta kelas segi empat tepat baharu, warisi kelas grafik dan laksanakan kaedah yang sepadan atribut dan kaedah, setiap grafik mempunyai Sifat dan kaedah tersendiri, contohnya, segi empat tepat mempunyai panjang dan lebar, sfera mempunyai jejari, dsb.
Tentukan sifat segi empat tepat $lebar dan $tinggi
Gunakan pembina untuk instantiate dan secara automatik tetapkan nilai kepada nama dan ralat masing-masing
Kira luas dan perimeter
Selepas mengklik pada segi empat tepat, anda perlu memaparkan kotak input Pada masa ini, anda hanya perlu menentukan pandangan kaedah() untuk mencetak kotak input
Tambahkan label pada butang segi empat tepat
<a href ='index.php?action=rect'>rectangle</a> |
Selepas mengklik, buat permintaan dapatkan dan paparkan kotak input yang dicetak dalam paparan. , kod index.php:
<?php if (!empty($_GET['action'])) { $shape = new Rect(); $shape->view(); }Jika maklumat pengesahan betul, cetak perimeter dan luas yang betul:
<?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; } } ?>
Hasil jalankan:
Awak perlukan untuk memperkenalkan fail Rect.class.php dalam index.php,
memerlukan 'Rect.class.php'; Ia juga perlu diimport semasa mengira grafik lain. Adakah terdapat cara untuk mengimport semua fail kelas sekaligus? (Diperkenalkan di bahagian seterusnya)