@VishenkaNaTorte

Как передать методу в качестве аргументов — объект?

class Vector {
    private $x, $y;

    public function __construct($x, $y) {
        $this->x = $x;
        $this->y = $y;
    }

    function getX() {
        return $this->x;
    }

    function getY() {
        return $this->y;
    }

    function getVectorLength($a, $b) {
        print (sqrt(pow($a, 2) + pow($b, 2)));
    }
}

$V1 = new Vector(2, -3);
$V2 = new Vector(0, 0);
$V3 = new Vector(-6, -4);

$V1->getVectorLength($V2); //1 passed exactly 2 expected


Я создал три объекта, передал значения, хочу теперь воспользоваться методом из этого же класса и передать в качестве аргумента - объект. Можно ли как-то это сделать правильно? Или нужно вручную вводить аргументы?
  • Вопрос задан
  • 61 просмотр
Решения вопроса 1
@Kulay
Что такое $a и $b в методе getVectorLength? Зачем в этот метод передавать другой вектор? Возможно вам нужно рассчитать длину того вектора, метод которого вы вызываете? Тогда метод нужно переписать примерно так:
function getVectorLength()
{
        print (sqrt(pow($this->x, 2) + pow($this->y, 2)));
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы