You can use abstract to modify a class or method.
A class modified with abstract indicates that this class is an abstract class, and a method modified with abstract indicates that this method is an abstract method.
Abstract classes cannot be instantiated.
Abstract methods only have method declarations but no implementation content of the method.
abstract abstract class
You can use abstract to modify a class.
A class modified with abstract indicates that this class is an abstract class.
Abstract classes cannot be instantiated.
This is a simple abstract method. If it is instantiated directly, the system will report an error.
Php code
<?php //定义一个抽象类 abstract class User { public function __toString() { return get_class($this); } } //实例化这个类会出现错误 echo new User(); ?>
The NormalUser in the following example inherits from the User class and can be instantiated.
Php code
<?php //定义一个抽象类 abstract class User { public function __toString() { return get_class($this); } } //实例化这个类会出现错误 echo new User(); class NormalUser extends User { } $a = new NormalUser(); echo "这个类" . $a . "的实例"; ?>
It is meaningless to set up an abstract class alone. Only with abstract methods can abstract classes have flesh and blood. Abstract methods are introduced below.
abstract abstract method
Use abstract modified class to indicate that this method is an abstract method.
Abstract methods only have the declaration part of the method and no method body.
Abstract methods do not have {}, but end with ;.
As long as there is an abstract method in a class, the class must be declared as an abstract class.
Abstract methods must be overridden in subclasses.
The following is an abstract class with two abstract methods, setSal() and getSal(). Used to retrieve $sal employee wages.
Php code
<?php abstract class User { protected $sal = 0; //这里定义的抽象方法。 //注意抽象方法没有方法体,而且方法结束使用 ; 号。 abstract function getSal(); abstract function setSal(); //定义它的__tostring方法 public function __toString() { return get_class($this); } } ?>
Since the User class cannot be directly inherited, we write a NormalUser class that inherits from the User class. When we write the following code, the system will report an error. This error tells us that there are two abstract methods in the User class and we must override these two methods in the subclass.
Php code
<?php abstract class User { protected $sal = 0; //这里定义的抽象方法。 //注意抽象方法没有方法体,而且方法结束使用 ; 号。 abstract function getSal(); abstract function setSal(); //定义它的__tostring方法 public function __toString() { return get_class($this); } } class NormalUser extends User { } ?>
The following example rewrites these two methods. Although the content of {} in the method body is empty, it can be regarded as rewriting the method. Pay attention to the parameter names of the overridden method. As long as the number of parameters is the same, it is not required that the parameter names must be the same.
Php code
<?php abstract class User { protected $sal = 0; //这里定义的抽象方法。 //注意抽象方法没有方法体,而且方法结束使用;号。 abstract function getSal(); abstract function setSal(); //定义它的__tostring方法 public function __toString() { return get_class($this); } } class NormalUser extends User { function getSal() { } function setSal($sal) { } } //这样就不会出错了。 ?>
In the following lines 19-21, the three rewriting methods will report errors.
Line 19, missing parameters.
20 lines, more parameters.
Line 21, the parameter type is wrong. (This way of writing will be introduced in a later chapter)
If there is an abstract method in a class, the class must be declared as an abstract class.
The following class is not an abstract class. It defines an abstract method and will report an error.
Php code
<?php class User { protected $sal = 0; //这里定义的抽象方法。 //注意抽象方法没有方法体,而且方法结束使用;号。 abstract function getSal(); abstract function setSal(); //定义它的__tostring方法 public function __toString() { return get_class($this); } } //这个类中有两个抽象方法,如果这个类不是抽象的。会报错 ?>
Abstract class inherits abstract class
When an abstract class inherits another abstract class, there is no need to rewrite the abstract methods in it.
In an abstract class, the abstract method of the abstract parent class cannot be overridden.
Such usage can be understood as an extension of abstract classes
The following example demonstrates that when an abstract class inherits from another abstract class, there is no need to rewrite the abstract methods in it.
Php code
<?php abstract class User { protected $sal = 0; abstract function getSal(); abstract function setSal($sal); } abstract class VipUser extends User { } ?>
After an abstract class is inherited, the abstract methods in it cannot be overridden.
If rewriting occurs, the system will report an error.
Php code
<?php abstract class User { protected $sal = 0; abstract function getSal(); abstract function setSal($sal); } abstract class VipUser extends User { abstract function setSal(); } ?>
Abstract class inherits abstract class for the purpose of extending abstract class.
Php code
<?php abstract class User { protected $sal = 0; abstract function getSal(); abstract function setSal($sal); } abstract class VipUser extends User { protected $commision = 0; abstract function getCommision(); abstract function setCommision(); } ?>
In PHP5.1, static abstract methods are supported in abstract classes. In the example below, we see that static abstract methods can be declared. When implementing this method, it must be a static method.
Static abstract method
In PHP5.1, static abstract methods are supported in abstract classes. In the example below, we see that static abstract methods can be declared. When implementing this method, it must be a static method.
Php code
<?php abstract class User { protected static $sal = 0; static abstract function getSal(); static abstract function setSal($sal); } class VipUser extends User { static function getSal() { return self::$sal; } static function setSal($sal) { self::$sal = $sal; } } VipUser::setSal(100); echo "you sal is " . VipUser::getSal(); ?> //这里的抽象方法好像没有问题

What’s still popular is the ease of use, flexibility and a strong ecosystem. 1) Ease of use and simple syntax make it the first choice for beginners. 2) Closely integrated with web development, excellent interaction with HTTP requests and database. 3) The huge ecosystem provides a wealth of tools and libraries. 4) Active community and open source nature adapts them to new needs and technology trends.

PHP and Python are both high-level programming languages that are widely used in web development, data processing and automation tasks. 1.PHP is often used to build dynamic websites and content management systems, while Python is often used to build web frameworks and data science. 2.PHP uses echo to output content, Python uses print. 3. Both support object-oriented programming, but the syntax and keywords are different. 4. PHP supports weak type conversion, while Python is more stringent. 5. PHP performance optimization includes using OPcache and asynchronous programming, while Python uses cProfile and asynchronous programming.

PHP is mainly procedural programming, but also supports object-oriented programming (OOP); Python supports a variety of paradigms, including OOP, functional and procedural programming. PHP is suitable for web development, and Python is suitable for a variety of applications such as data analysis and machine learning.

PHP originated in 1994 and was developed by RasmusLerdorf. It was originally used to track website visitors and gradually evolved into a server-side scripting language and was widely used in web development. Python was developed by Guidovan Rossum in the late 1980s and was first released in 1991. It emphasizes code readability and simplicity, and is suitable for scientific computing, data analysis and other fields.

PHP is suitable for web development and rapid prototyping, and Python is suitable for data science and machine learning. 1.PHP is used for dynamic web development, with simple syntax and suitable for rapid development. 2. Python has concise syntax, is suitable for multiple fields, and has a strong library ecosystem.

PHP remains important in the modernization process because it supports a large number of websites and applications and adapts to development needs through frameworks. 1.PHP7 improves performance and introduces new features. 2. Modern frameworks such as Laravel, Symfony and CodeIgniter simplify development and improve code quality. 3. Performance optimization and best practices further improve application efficiency.

PHPhassignificantlyimpactedwebdevelopmentandextendsbeyondit.1)ItpowersmajorplatformslikeWordPressandexcelsindatabaseinteractions.2)PHP'sadaptabilityallowsittoscaleforlargeapplicationsusingframeworkslikeLaravel.3)Beyondweb,PHPisusedincommand-linescrip

PHP type prompts to improve code quality and readability. 1) Scalar type tips: Since PHP7.0, basic data types are allowed to be specified in function parameters, such as int, float, etc. 2) Return type prompt: Ensure the consistency of the function return value type. 3) Union type prompt: Since PHP8.0, multiple types are allowed to be specified in function parameters or return values. 4) Nullable type prompt: Allows to include null values and handle functions that may return null values.


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

DVWA
Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.

Safe Exam Browser
Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment

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