Автор оригинала: David Wong.
Эта статья иллюстрирует применение полиморфизма в объектно-ориентированном программировании PHP. Поделитесь для вашей справки следующим образом:
Полиморфизм является еще одной важной особенностью трех объектно-ориентированных функций, помимо инкапсуляции и наследования. Он демонстрирует функцию динамического связывания, также известную как “варианты омонимии”. Полиморфные функции позволяют программному обеспечению достигать полной расширяемости при разработке и обслуживании. Фактически, наиболее прямое определение полиморфизма заключается в том, что разные классы объектов с наследованием могут вызывать функции-члены с одинаковым именем и вызывать разные реакции. Полиморфизм относится к способности программы обрабатывать несколько типов объектов. В PHP полиморфные значения относятся к переписыванию методов. Переписывание методов означает, что некоторые методы в подклассе могут быть изменены, чтобы иметь свои собственные характеристики. Для перезаписи требуется, чтобы имя метода подкласса совпадало с именем родительского класса, которое может быть стандартизировано путем объявления абстрактных классов или интерфейсов.
Мы вводим полиморфизм в объектно-ориентированный через применение компьютерных USB-устройств. В настоящее время существует более десяти видов настроек USB, которые мы использовали сами. Например, USB-мышь, USB-клавиатура, USB-накопитель и так далее, внешние устройства этих компьютеров подключаются к компьютеру через интерфейс USB, затем они вызываются компьютером и запускаются. То есть, когда компьютер работает нормально, без установки другого USB-устройства, он будет расширять ту же функцию для компьютера, что мы называем полиморфизмом. Так почему же каждое USB-устройство отличается, но может использоваться компьютерами? Это связано с тем, что каждая настройка USB должна соответствовать спецификациям разработки интерфейса USB компьютера. Он имеет тот же метод, который может быть загружен и включен компьютером, но он выполняет соответствующие функции. Это также наше определение полиморфизма. Предположим, у нас есть основная программа, которая была разработана и должна быть расширена другими разработчиками позже, но нам нужно загрузить эти расширенные функциональные модули на основе неизменной основной программы. На самом деле, нам нужно разработать некоторые плагины для программы. Это требует, чтобы спецификация интерфейса была написана для расширенной подключаемой программы в основной программе, а затем каждый подключаемый модуль может быть применен основной программой только в том случае, если он реализует свои собственные функции в соответствии со спецификацией. Программный дизайн применения USB-устройства в компьютере выглядит следующим образом:
В соответствии со спецификацией, определенной интерфейсом USB, следующий код реализует три устройства: USB-клавиатуру, USB-мышь и USB-накопитель. Конечно, он может реализовать больше настроек USB, которые переписываются в соответствии с функциями его собственных устройств. метод run () , поэтому каждое USB-устройство имеет свою собственную конфигурацию после запуска компьютера вставки. Код выглядит следующим образом:
";
}
}
// Expanding a USB Mouse Device and Implementing the USB Interface
class Umouse implements iUSB {
function run(){
Echo "Run USB Mouse Device < br >";
}
}
// Expanding a USB storage device to implement USB interface
class Ustore implements iUSB {
function run(){
Echo "Run USB Storage Device < br >";
}
}
$computer =new Computer;
$computer - > useUSB (new Ukey (); /// Insert a USB keyboard device for the computer and run it
$computer - > useUSB (new Umouse (); /// Insert a USB mouse device into the computer and run it
$computer - > useUSB (new Ustore (); /// Insert a USB storage device into the computer and run it
?>Запущенный вывод:
Запуск USB-устройства Клавиатуры Запуск USB-Устройства Мыши Запуск USB-устройства хранения данных
PS: Код был изменен и отлажен.~
Больше читателей, интересующихся контентом, связанным с PHP, могут ознакомиться с темами этого сайта: Введение в объектно-ориентированное программирование Php , Введение в Навыки работы с массивами PHP, Введение в базовую грамматику PHP, Краткое описание работы PHP и использования операторов, Краткое описание использования строк Php, Введение в работу с базой данных php+mysql и Общие операции с базами данных php. Краткое изложение навыков письма ___________
Я надеюсь, что эта статья будет полезна для разработки программ на PHP для всех.
Оригинал: “https://developpaper.com/an-application-example-of-polymorphism-in-php-object-oriented-programming/”