


Introduction to PHP object-oriented inheritance, polymorphism, and encapsulation
1. Interface
In the PHP programming language, an interface is an abstract type and a collection of abstract methods. Interfaces are usually declared as interface. A class implements the interface's methods (abstract methods) by implementing the interface.
Interface definition:
interface InterAnimal{ public function speak(); public function name($name); }//接口实现 class cat implements InterAnimal{ public function speak(){ echo "speak"; } public function name($name){ echo "My name is ".$name; } }
Special attention:
* All classes are abstract methods (no need to declare abstract)
* The interface abstract method is public
* Members (fields) must be constants
2. Inheritance
A class that inherits from another class is called a subclass of that class. This relationship is often represented by the metaphor of parent and child. The subclass will
inherit the characteristics of the parent class. These properties consist of properties and methods. Subclasses can add new functions beyond those of the parent class, so subclasses are also
called "extensions" of the parent class.
In PHP, class inheritance is implemented through the extends keyword. Classes that inherit from other classes become subclasses or derived classes, and classes that subclasses inherit from become parent classes or base classes.
class Computer { private $_name = '联想'; public function __get($_key) { return $this->$_key; } public function run() { echo '父类run方法'; } }class NoteBookComputer extends Computer {}$notebookcomputer = new NoteBookComputer ();$notebookcomputer->run (); //继承父类中的run()方法echo $notebookcomputer->_name; //通过魔法函数__get()获得私有字段
Special Note:Sometimes the fields and methods of the parent class are not needed, so the fields and methods of the parent class can be modified by rewriting the subclass.
class Computer { public $_name = '联想'; protected function run() { echo '我是父类'; } }//重写其字段、方法class NoteBookComputer extends Computer { public $_name = 'IBM'; public function run() { echo '我是子类'; } }Copy after login
Call the method of the parent class by overriding it3. Abstract classes and methodsSometimes, we need to be able to call the method content of the parent class through the overridden method. In this case, we must use
Syntax: Parent class name::method(), parent::method() can be called.
The final keyword can prevent a class from being inherited. Sometimes you just want to be an independent class and don't want to be inherited and used by other classes.
Characteristics of abstract classes:
* Abstract classes cannot produce instance objects and can only be inherited;
* Abstract methods must be in abstract classes. There may not necessarily be abstract methods in an abstract class;
* When inheriting an abstract class, the subclass must override all abstract methods in the parent class;
* A method defined as abstract only declares its calling method (parameters), Not realized.
abstract class Computer { abstract function run();}final class NotebookComputer extends Computer { public function run() { echo '抽象类的实现'; } }
Polymorphism means that OOP can redefine or change the nature or behavior of a class according to the context in which the class is used, or that multiple different implementations of the interface are polymorphic. .
interface Computer { public function version(); public function work();}class NotebookComputer implements Computer { public function version() { echo '联想<br>'; } public function work() { echo '笔记本正在随时携带运行!'; } }class desktopComputer implements Computer { public function version() { echo 'IBM'; } public function work() { echo '台式电脑正在工作站运行!'; } }class Person { public function run($type) { $type->version (); $type->work (); } }$person = new Person ();$desktopcomputer = new desktopComputer ();$notebookcomputer = new NoteBookComputer ();$person->run ( $notebookcomputer );
PHP object-oriented identification object
Development of php object-oriented programming Ideas and example analysis
PHP object-oriented practical basic knowledge
The above is the detailed content of Introduction to PHP object-oriented inheritance, polymorphism, and encapsulation. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

If you are an experienced PHP developer, you might have the feeling that you’ve been there and done that already.You have developed a significant number of applications, debugged millions of lines of code, and tweaked a bunch of scripts to achieve op

Visual Studio Code, also known as VS Code, is a free source code editor — or integrated development environment (IDE) — available for all major operating systems. With a large collection of extensions for many programming languages, VS Code can be c

JWT is an open standard based on JSON, used to securely transmit information between parties, mainly for identity authentication and information exchange. 1. JWT consists of three parts: Header, Payload and Signature. 2. The working principle of JWT includes three steps: generating JWT, verifying JWT and parsing Payload. 3. When using JWT for authentication in PHP, JWT can be generated and verified, and user role and permission information can be included in advanced usage. 4. Common errors include signature verification failure, token expiration, and payload oversized. Debugging skills include using debugging tools and logging. 5. Performance optimization and best practices include using appropriate signature algorithms, setting validity periods reasonably,

This tutorial demonstrates how to efficiently process XML documents using PHP. XML (eXtensible Markup Language) is a versatile text-based markup language designed for both human readability and machine parsing. It's commonly used for data storage an

A string is a sequence of characters, including letters, numbers, and symbols. This tutorial will learn how to calculate the number of vowels in a given string in PHP using different methods. The vowels in English are a, e, i, o, u, and they can be uppercase or lowercase. What is a vowel? Vowels are alphabetic characters that represent a specific pronunciation. There are five vowels in English, including uppercase and lowercase: a, e, i, o, u Example 1 Input: String = "Tutorialspoint" Output: 6 explain The vowels in the string "Tutorialspoint" are u, o, i, a, o, i. There are 6 yuan in total

Static binding (static::) implements late static binding (LSB) in PHP, allowing calling classes to be referenced in static contexts rather than defining classes. 1) The parsing process is performed at runtime, 2) Look up the call class in the inheritance relationship, 3) It may bring performance overhead.

What are the magic methods of PHP? PHP's magic methods include: 1.\_\_construct, used to initialize objects; 2.\_\_destruct, used to clean up resources; 3.\_\_call, handle non-existent method calls; 4.\_\_get, implement dynamic attribute access; 5.\_\_set, implement dynamic attribute settings. These methods are automatically called in certain situations, improving code flexibility and efficiency.
