Home >Backend Development >PHP Problem >What is php abstract method
php abstract method refers to a method defined in a class without a method body. The absence of a method body means that there are no curly brackets and its contents when declaring, but directly in the method name when declaring. End with a semicolon. In addition, when declaring an abstract method, the method must be modified with the keyword "abstract".
Recommended: "PHP Video Tutorial"
Abstract methods and abstract classes in php
1. What is an abstract method?
The methods we define in the class without method mention are abstract methods. The so-called no method body means that there are no curly braces and the contents inside when declaring, but directly adding a semicolon after the method name when declaring. In addition, when declaring an abstract method, the method also needs to add a keyword. "abstract" to modify.
For example:
abstract function fun1(); abstract function fun2();
2. What is an abstract class?
As long as there is an abstract method in a class, then the class is defined as an abstract class, and the abstract class must also be modified with the "abstract" keyword; there can be non-abstract methods and Member attributes, but as long as one method is abstract, the class must be declared as an abstract class and decorated with "abstract".
For example:
abstract class demo{ var $test; abstract function fun1(); abstract function fun2(); }
3. What is the role of abstract classes?
In the above example, an abstract class "demo" is defined and modified with "abstract". In this class, a member attribute "$test" and two abstract methods "fun1" and "fun2" are defined. "There is also a non-abstract method fun3(); so how do we use abstract classes? The most important point is that abstract classes cannot produce instance objects, so they cannot be used directly. We have mentioned many times that classes cannot be used directly. We are using objects instantiated through classes, so abstract classes cannot produce instance objects. What is the use of declaring an abstract class?
We use abstract methods as templates for subclass overloading. Defining an abstract class is equivalent to defining a specification. This specification requires subclasses to comply. Subclasses inherit abstract classes. After that, implement the abstract methods in the abstract class according to the needs of the subclass.
The subclass must implement all the abstract methods in the parent class. Otherwise, if there are still abstract methods in the subclass, then the subclass is still an abstract class and cannot be instantiated; why do we have to start from the abstract class? What about inheritance?
Because sometimes if we want to implement some functions, we must inherit from an abstract class, otherwise you will not be able to implement these functions. If you inherit an abstract class, you must implement the abstract method in the class;
For example:
abstract class mode{ var $test; abstract function fun1(); abstract function fun2(); function fun2(){ .... } } $mode = new mode(); //抽象类只能为产生实例对象,所以这样做是错的,实例化对象交给子类 class test extends mode{ function fun1(){ .... } function fun2(){ .... } } $test = new test(); //子类可以实例化对象,因为实现了所有父类的抽象化方法
The above is the detailed content of What is php abstract method. For more information, please follow other related articles on the PHP Chinese website!