Cet article soigneusement rédigé par l'éditeur PHP Apple explorera en profondeur les concepts d'héritage et de polymorphisme en PHP, aidant les lecteurs à mieux comprendre et appliquer ces deux concepts importants de programmation orientée objet. Grâce à l'intégration, le code peut être plus énergique et spirituel, et la maintenabilité et l'évolutivité du code peuvent être améliorées. L'héritage et le polymorphisme en PHP sont les clés pour améliorer la qualité et l'efficacité du code. J'espère que cet article pourra apporter plus de gains et d'inspiration aux lecteurs.
L'héritage permet à une classe d'hériter des propriétés et des méthodes d'une ou plusieurs classes parentes. Les sous-classes peuvent hériter des propriétés et des méthodes de la classe parent et les étendre ou les réécrire, permettant ainsi la réutilisation du code et facilitant la construction rapide de nouvelles classes. Dans php, utilisez le mot-clé extends pour implémenter l'héritage de classe :
// 定义父类 class ParentClass { protected $name; protected $age; public function getName() { return $this->name; } public function getAge() { return $this->age; } } // 定义子类 class ChildClass extends ParentClass { protected $gender; public function getGender() { return $this->gender; } }
Dans le code ci-dessus, ChildClass
继承了 ParentClass
,它不仅继承了 ParentClass
中定义的属性和方法,还增加了 gender
属性和 getGender()
méthode.
Le polymorphisme est une extension de l'héritage qui permet aux sous-classes de répondre au même appel de différentes manières, obtenant ainsi flexibilité et découplage. En PHP, le polymorphisme est principalement obtenu grâce à la réécriture de méthode. Lorsqu'une sous-classe remplace une méthode de classe parent, la méthode de sous-classe remplace la méthode de classe parent. Lorsqu'une méthode de sous-classe est appelée, la méthode de sous-classe remplacée est exécutée.
// 定义父类 class Animal { public function makeSound() { return "Animal sound"; } } // 定义子类 class Dog extends Animal { public function makeSound() { return "Woof!"; } } // 定义子类 class Cat extends Animal { public function makeSound() { return "Meow!"; } } // 实例化子类 $dog = new Dog(); $cat = new Cat(); // 调用子类的方法 echo $dog->makeSound(); // 输出:Woof! echo $cat->makeSound(); // 输出:Meow!
méthode. Dog
类和 Cat
类都是 Animal
类的子类,它们都重写了 makeSound()
方法,因此当调用 $dog->makeSound()
和 $cat->makeSound()
时,将分别执行 Dog
类和 Cat
类定义的 makeSound()
方法,而不是 Animal
类中定义的 makeSound()
processus de développement plus efficace. efficace.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!