Перегрузка методов
Перегрузка методов позволяет определять несколько методов с одним и тем же именем, но с разными параметрами. При вызове метода, PHP выбирает метод с наиболее подходящим набором параметров. Например, у нас есть класс "Калькулятор", который имеет метод "сложить". Метод "сложить" может принимать два целых числа, два дробных числа или строку и число. Мы можем определить три метода с одним и тем же именем "сложить", но с разными параметрами.
class Calculator {
// метод add() для сложения двух целых чисел
public function add($a, $b) {
return $a + $b;
}
// метод add() для сложения трех чисел
public function add($a, $b, $c) {
return $a + $b + $c;
}
// метод add() для сложения двух чисел и строки
public function add($a, $b, $str) {
return $str . $a + $b;
}
}
Пример использования перегрузки методов
Допустим, мы хотим сложить два числа и вывести результат на экран. Мы можем использовать первый метод "сложить", передав ему два целых числа.
$calculator = new Calculator();
echo $calculator->add(2, 3); // Выведет 5
Теперь мы хотим сложить три числа и вывести результат на экран. Мы можем использовать второй метод "сложить", передав ему три числа.
$calculator = new Calculator();
echo $calculator->add(2, 3, 4); // Выведет 9
Наконец, мы хотим сложить два числа и строку, и вывести результат на экран. Мы можем использовать третий метод "сложить", передав ему два числа и строку.
$calculator = new Calculator();
echo $calculator->add(2, 3, "Результат: "); // Выведет "Результат: 5"
Заключение
Перегрузка методов - это мощный инструмент для реализации полиморфизма в PHP. Она позволяет определять несколько методов с одним и тем же именем, но с разными параметрами, что делает код более читабельным и гибким. Кроме того, перегрузка методов позволяет разработчикам создавать более универсальные классы, которые могут использоваться в различных сценариях.