/** * test using an invalid y **/ public function testInvalidPointY() { $point = new Point($this->VALID_X, $this->INVALID_Y); // simply use the $INVALID_IP and an exception will be thrown $point->setX($this->VALID_X); $point->setY($this->INVALID_Y); }
protected function wgtochina_lb($wg_flag, $wg_lng, $wg_lat, $wg_heit, $wg_week, $wg_time) { $x_add; $y_add; $h_add; $x_l; $y_l; $casm_v; $t1_t2; $x1_x2; $y1_y2; $point = new Point(); if ($wg_heit > 5000) { return $point; } $x_l = $wg_lng; $x_l = $x_l / 3686400.0; $y_l = $wg_lat; $y_l = $y_l / 3686400.0; if ($x_l < 72.004) { return $point; } if ($x_l > 137.8347) { return $point; } if ($y_l < 0.8293) { return $point; } if ($y_l > 55.8271) { return $point; } if ($wg_flag == 0) { $this->IniCasm($wg_time, $wg_lng, $wg_lat); $point = new Point(); $point->setLatitude($wg_lng); $point->setLongitude($wg_lat); return $point; } $this->casm_t2 = $wg_time; $t1_t2 = ($this->casm_t2 - $this->casm_t1) / 1000.0; if ($t1_t2 <= 0) { $this->casm_t1 = $this->casm_t2; $this->casm_f = $this->casm_f + 1; $this->casm_x1 = $this->casm_x2; $this->casm_f = $this->casm_f + 1; $this->casm_y1 = $this->casm_y2; $this->casm_f = $this->casm_f + 1; } else { if ($t1_t2 > 120) { if ($this->casm_f == 3) { $this->casm_f = 0; $this->casm_x2 = $wg_lng; $this->casm_y2 = $wg_lat; $x1_x2 = $this->casm_x2 - $this->casm_x1; $y1_y2 = $this->casm_y2 - $this->casm_y1; $casm_v = sqrt($x1_x2 * $x1_x2 + $y1_y2 * $y1_y2) / t1_t2; if ($casm_v > 3185) { return $point; } } $this->casm_t1 = $this->casm_t2; $this->casm_f = $this->casm_f + 1; $this->casm_x1 = $this->casm_x2; $this->casm_f = $this->casm_f + 1; $this->casm_y1 = $this->casm_y2; $this->casm_f = $this->casm_f + 1; } } $x_add = $this->Transform_yj5($x_l - 105, $y_l - 35); $y_add = $this->Transform_yjy5($x_l - 105, $y_l - 35); $h_add = $wg_heit; $x_add = $x_add + $h_add * 0.001 + $this->yj_sin2($wg_time * 0.0174532925199433) + $this->random_yj(); $y_add = $y_add + $h_add * 0.001 + $this->yj_sin2($wg_time * 0.0174532925199433) + $this->random_yj(); $point = new Point(); $point->setX(($x_l + $this->Transform_jy5($y_l, $x_add)) * 3686400); $point->setY(($y_l + $this->Transform_jyj5($y_l, $y_add)) * 3686400); return $point; }
$this->x = $Y; } public function setPoint($object) { $this->x = $object->x; $this->y = $object->y; } public function getDistance($obj) { return sqrt($this->getPow($obj)); } private function getPow($obj) { return pow($this->x - $obj->x, 2) + pow($this->y - $obj->y, 2); } public function __toString() { return "Точка с координатам ({$this->x}, {$this->y})"; } public function __destruct() { echo "<br/> Объект уничтожен"; } } $point = new Point(5, 7); echo $point . "<br/>"; $point->setX(10); $point->setY(12); echo $point . "<br/>"; $point_1 = new Point(9, 11); echo $point->getDistance($point_1) . "<br/>";
/** * @param int * @throws IllegalArgumentException */ public function setY($y) { $this->location->setY($y); }
<?php /*ПРАКТИЧЕСКОЕ ПРИМЕНЕИЕ ИНКАПСУЛЯЦИИ*/ //Инкапсуляция - это свойство ООП позволяющее защитить и объединить данные и код в объект и скрыть реализацию объекта от пользователя. //Модификатор доступа public - позволяет обращаться к свойствам и методам отовсюду. //Модификатор доступа private - позволяет обращаться к свойствам и методам только внутри текущего класса. //Модификатор доступа protected - позволяет обращаться к свойствам и методам только текущего класса и класса, который наследует свойства и методы текущего класса //Лучше всего скрывать поля (свойства), а доступ давать к ним через методы require_once getenv("DOCUMENT_ROOT") . "/lib/config.php"; require_once "Point.php"; $point = new Point(); //echo $point->length(5, 4); //echo $point->x; $point->setX(10); $point->setY(-6); echo $point->getX($x) . "<br/>"; echo $point->getY($y) . "<br/>"; echo $point->lengthObject(new Point(4, 9));