예제 #1
0
 /**
  * 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);
 }
예제 #2
0
 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/>";
예제 #4
0
 /**
  * @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));