그래픽의 종류가 많다는 점을 고려하여 먼저 그래픽 추상 클래스를 구축하여 모든 그래픽에 공통적인 속성과 메서드를 제공할 수 있습니다.
이런 방식으로 다른 그래픽이 이를 직접 상속할 수 있어 코드 중복이 줄어들고 다음 규정을 준수할 수 있습니다. 객체 지향 생각
1, 새로운 Shap.class.php 파일
을 생성합니다. 도형의 이름 $name, 오류 메시지 $error, 경계 영역() 및 영역 zhou(), 그리고 각각 계산이 있습니다. yan()
<?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 파일을 만듭니다
새 직사각형 클래스를 만든 후 그래픽 클래스를 상속하고 상속된 메소드에 추가로 구현합니다. 속성과 메서드, 각 그래픽에는 고유한 속성과 메서드가 있습니다. 예를 들어 직사각형에는 길이와 너비가 있고 구에는 반경이 있습니다.
직사각형 $width 및 $height의 속성을 정의하세요
생성자를 사용하여 다음을 수행합니다. 인스턴스화하고 각각 이름과 오류에 값을 자동으로 할당합니다
면적과 둘레를 계산합니다
사각형을 클릭한 후 입력 상자를 표시해야 합니다. 이때 메서드 view()만 정의하면 됩니다. 입력란을 인쇄하려면
사각형 버튼에 라벨을 추가하세요
<a href ='index.php?action=ret'>사각형</a> |
클릭 후 가져오기 요청 코드는 다음과 같습니다.
<?php if (!empty($_GET['action'])) { $shape = new Rect(); $shape->view(); }
<?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; } } ?>
3, verify 정보 인쇄
사각형 클래스에 추가된 새로운 메소드:
<?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; }
확인 정보 인쇄 , index.php 코드 :
if (!$shape->yan($_POST)) { echo "<b>错误:$shape->error</b>"; } echo "</div>";
인증 정보가 올바른 경우 올바른 주변 및 영역을 인쇄합니다. index.php에 Rect.class.php 파일을 추가하려면
require 'Rect.class.php';다른 그래픽을 계산할 때도 가져와야 합니다. 클래스 파일을 모두 가져올 수 있는 방법이 있나요? (다음 섹션에서 소개)
다음 섹션