VicTHOR
@VicTHOR
(╮°-°)╮┳━━┳ ( ╯°□°)╯ ┻━━┻

Как определить у функции использование переменных конструктора?

Да, вопрос новичка, покажите ошибки)
Функции, классы сделаны по заданию, т.е. сказано реализовать функцию с приемом переменных, но и конструктор с приемом переменных.. но если я в конструктор вбиваю, зачем потом отдельно функциям передавать? смысл теряется. Как передать те самые переменные, которые передаются в конструктор?
попробовал use __construct - выдало синтаксическую ошибку мол unexpected use, попробовал передать exp1(&$a, &$b, &$c) ноль реакции.. Попробовал объявить public $a, $b, $c и в F1 и в абстрактном, думал может объявлять обязательно надо, но не помогло тоже.
Заранее спасибо)
Abstract class BaseMath
{
    protected function exp1($a, $b, $c)
    {
        return $this->$a*pow($this->$b,$this->$c);
    }

    protected function exp2($a, $b, $c)
    {
        return pow(($this->$a/$this->$b),$this->$c);
    }

    protected abstract static function getValue();
}

Class F1 extends BaseMath
{
    public function __construct($a, $b, $c)
    {
        $this->$a = $a;
        $this->$b = $b;
        $this->$c = $c;
    }
    public static function getValue()
    {
        $f = $a*pow($b, $c)+pow(((pow(($a/$c), $b))%3), min($a,$b,$c));
        echo $f;
        return true;
    }

}
$func = new F1(4,7,12);
$funk->exp1();
$funk->exp2();
$funk::getValue();
  • Вопрос задан
  • 75 просмотров
Решения вопроса 1
be_a_dancer
@be_a_dancer
Middle Backend/Fullstack Developer
abstract class BaseMath {
  protected $a;
  protected $b;
  
  public function calculate() {
    return $this->a + $this->b;    
  }
}

class Math extends BaseMath {
  public function __construct($a, $b) {
     $this->a = $a;
      $this->b = $b;
    }
}


$math = new Math(1, 2);
echo $math->calculate();


Можно. Все работает успешно.

P.S. Кейс кода тестовый. Работать так на бою не рекомендую.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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